Issue #9767 has been updated by James Turnbull.

Status changed from Unreviewed to Needs More Information
Assignee set to Randall Hansen
Priority changed from High to Normal

The all.* files are auto-generated by Rails.  Randall may be able to shed some 
light on this.
----------------------------------------
Bug #9767: ActionView::TemplateError (Permission denied - 
/usr/share/puppet-dashboard/public/stylesheets/all.css)
https://projects.puppetlabs.com/issues/9767

Author: Tom De Vylder
Status: Needs More Information
Priority: Normal
Assignee: Randall Hansen
Category: 
Target version: 
Keywords: 
Branch: 
Affected URL: 
Affected Dashboard version: 


Hi all,

I'm running into javascript errors using Puppet Dashboard behind an 
Apache2/Passenger setup.
"Permission denied - /usr/share/puppet-dashboard/public/javascripts/all.js"

The permissions inside public/ are ok. The whole public folder is owned by the 
Apache user. And I'm able to browse anything I put inside the javascripts 
folder.

However *stylesheets/all.css* and *javascripts/all.js* are *not included* in 
the package, nor are they on github.

What's really strange about this is that it only happens with the 
Apache2/Passenger setup.
When I kill the apache daemon and start the puppet-dashboard init script 
instead (using webrick) the Dashboard does show up in my browser.

If anyone needs more information that what's provided below, please let me know.

Regards,
TomDV


Version numbers:

<pre>
Debian squeeze
Apache 2.2.11 (debian repo)
Passenger 2.2.11 (debian repo)
Dashboard 1.2.1-1 (puppetlabs package)
</pre>


Apache config:

<pre>

Listen 3000
<VirtualHost *:3000>
   ServerName dashboard
   ServerAlias dashboard.tld puppet.tld    
   DocumentRoot /usr/share/puppet-dashboard/public/
   <Directory /usr/share/puppet-dashboard/public/>
       Options None
       AllowOverride AuthConfig
       Order allow,deny
       allow from all
   </Directory>

   LogLevel warn
   ServerSignature On
   ErrorLog  /var/log/apache2/dashboard_error.log
   CustomLog /var/log/apache2/dashboard_access.log combined

   # you may want to tune these settings
   PassengerHighPerformance on
   PassengerMaxPoolSize 12
   PassengerPoolIdleTime 1500
   # PassengerMaxRequests 1000
   PassengerStatThrottleRate 120
   RailsAutoDetect On
</VirtualHost>

</pre>


puppet-dashboard/logs/production.log

<pre>

Processing PagesController#home (for 157.193.44.38 at 2011-09-28 10:03:59) [GET]
  Parameters: {"action"=>"home", "controller"=>"pages"}
Rendering template within layouts/application
Rendering pages/home

ActionView::TemplateError (Permission denied - 
/usr/share/puppet-dashboard/public/stylesheets/all.css) on line #14 of 
app/views/layouts/application.html.haml:
11:       var relative_url_root = '#{ActionController::Base.relative_url_root}';
12:       $.noConflict();
13: 
14:     = stylesheet_link_tag 'reset', 'layout', 'forms', 'tables', 
'jquery.ui.custom', 'jquery.ui.combobox', 'typography', 'links', 
'token-input-facebook', 'tipsy', 'application', 'colorbox', 'help', :cache => 
'all'
15:     = javascript_include_tag 'prototype', 'jquery-ui.min', 
'jquery.tokeninput', 'excanvas.min', 'raphael-min', 'grafico.min', 
'jquery.form', 'jquery.placeholders', 'jquery.ui.combobox', 
'jquery.colorbox.js', 'jquery.tipsy', 'search', 'application', :cache => 'all'
16:     - Registry.each_callback :core, :head_extensions do |widget|
17:       = widget.call self

    app/views/layouts/application.html.haml:14:in 
`_run_haml_app47views47layouts47application46html46haml'
    haml (3.1.2) [v] rails/./lib/haml/helpers/action_view_mods.rb:13:in `render'
    haml (3.1.2) [v] rails/./lib/haml/helpers/action_view_mods.rb:13:in `render'
    sass (3.1.2) [v] rails/./lib/sass/plugin/rack.rb:54:in `call'
    /usr/lib/ruby/1.8/phusion_passenger/rack/request_handler.rb:92:in 
`process_request'
    /usr/lib/ruby/1.8/phusion_passenger/abstract_request_handler.rb:207:in 
`main_loop'
    /usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:418:in 
`start_request_handler'
    /usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:358:in 
`handle_spawn_application'
    /usr/lib/ruby/1.8/phusion_passenger/utils.rb:184:in `safe_fork'
    /usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:354:in 
`handle_spawn_application'
    /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:352:in `__send__'
    /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:352:in `main_loop'
    /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:196:in 
`start_synchronously'
    /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:163:in `start'
    /usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:213:in 
`start'
    /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:262:in 
`spawn_rails_application'
    /usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb:126:in 
`lookup_or_add'
    /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:256:in 
`spawn_rails_application'
    /usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb:80:in 
`synchronize'
    /usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb:79:in 
`synchronize'
    /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:255:in 
`spawn_rails_application'
    /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:154:in 
`spawn_application'
    /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:287:in 
`handle_spawn_application'
    /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:352:in `__send__'
    /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:352:in `main_loop'
    /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:196:in 
`start_synchronously'
    /usr/lib/phusion_passenger/passenger-spawn-server:61

Rendering /usr/share/puppet-dashboard/public/500.html (500 Internal Server 
Error)

</pre>

>From apache log:

<pre>

*** Exception Errno::EACCES in PhusionPassenger::Railz::ApplicationSpawner 
(Permission denied - /usr/share/puppet-dashboard/public/javascripts/all.js) 
(process 25835):
        from /usr/lib/ruby/1.8/fileutils.rb:1299:in `unlink'
        from /usr/lib/ruby/1.8/fileutils.rb:1299:in `remove_file'
        from /usr/lib/ruby/1.8/fileutils.rb:1304:in `platform_support'
        from /usr/lib/ruby/1.8/fileutils.rb:1298:in `remove_file'
        from /usr/lib/ruby/1.8/fileutils.rb:772:in `remove_file'
        from /usr/lib/ruby/1.8/fileutils.rb:550:in `rm'
        from /usr/lib/ruby/1.8/fileutils.rb:549:in `each'
        from /usr/lib/ruby/1.8/fileutils.rb:549:in `rm'
        from 
/usr/share/puppet-dashboard/config/initializers/clear_cached_assets.rb:5
        from 
/usr/share/puppet-dashboard/config/initializers/clear_cached_assets.rb:2:in 
`each'
        from 
/usr/share/puppet-dashboard/config/initializers/clear_cached_assets.rb:2
        from 
/usr/share/puppet-dashboard/vendor/rails/activesupport/lib/active_support/dependencies.rb:173:in
 `load_without_new_constant_marking'
        from 
/usr/share/puppet-dashboard/vendor/rails/activesupport/lib/active_support/dependencies.rb:173:in
 `load'
        from 
/usr/share/puppet-dashboard/vendor/rails/railties/lib/initializer.rb:622:in 
`load_application_initializers'
        from 
/usr/share/puppet-dashboard/vendor/rails/railties/lib/initializer.rb:621:in 
`each'
        from 
/usr/share/puppet-dashboard/vendor/rails/railties/lib/initializer.rb:621:in 
`load_application_initializers'
        from 
/usr/share/puppet-dashboard/vendor/rails/railties/lib/initializer.rb:176:in 
`process'
        from 
/usr/share/puppet-dashboard/vendor/rails/railties/lib/initializer.rb:113:in 
`send'
        from 
/usr/share/puppet-dashboard/vendor/rails/railties/lib/initializer.rb:113:in 
`run'
        from /usr/share/puppet-dashboard/config/environment.rb:14
        from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in 
`gem_original_require'
        from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from 
/usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:303:in 
`preload_application'
        from 
/usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:252:in 
`initialize_server'
        from /usr/lib/ruby/1.8/phusion_passenger/utils.rb:255:in 
`report_app_init_status'
        from 
/usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:237:in 
`initialize_server'
        from /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:194:in 
`start_synchronously'
        from /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:163:in 
`start'
        from 
/usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:213:in `start'
        from /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:262:in 
`spawn_rails_application'
        from 
/usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb:126:in 
`lookup_or_add'
        from /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:256:in 
`spawn_rails_application'
        from 
/usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb:80:in 
`synchronize'
        from 
/usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb:79:in 
`synchronize'
        from /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:255:in 
`spawn_rails_application'
        from /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:154:in 
`spawn_application'
        from /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:287:in 
`handle_spawn_application'
        from /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:352:in 
`__send__'
        from /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:352:in 
`main_loop'
        from /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:196:in 
`start_synchronously'
        from /usr/lib/phusion_passenger/passenger-spawn-server:61

</pre>


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to