Reputation: 2751
I am having difficulties with Passenger 3, Apache, RVM and a Rails 3.1 application on Ubuntu. For some reason, the Rails app is not loading, however I have run basically the same configuration before and had no problem.
I have Ruby 1.9.2 installed in RVM and Passenger installed with all gems in default.
I put the following in the apache.conf
file:
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.11
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p290/ruby
This is my virtual hosts configuration:
<VirtualHost *:80>
ServerName server
DocumentRoot /root/www/tester/public
<Directory /root/www/tester/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>
Passenger appears to be loading, as the Apache log shows:
[Wed Jan 11 23:18:28 2012] [notice] Apache/2.2.20 (Ubuntu) Phusion_Passenger/3.0.11 configured -- resuming normal operations
but, I cannot get the application to load at all.
If I run Passenger standalone I get the following error:
2012/01/11 23:03:31 [error] 13427#0: *4 "/root/www/sound/public/index.html" is forbidden (13: Permission denied), client: 127.0.0.1, server: _, request: "HEAD / HTTP/1.1", host: "0.0.0.0"
I changed all the permissions to 755
and gave ownership to apache (www-data)
but to no avail.
Finally, when I run passenger-status, I get:
----------- General information -----------
max = 6
count = 0
active = 0
inactive = 0
Waiting on global queue: 0
----------- Application groups -----------
But, as you can see, there is no application loaded.
Upvotes: 3
Views: 3240
Reputation: 2751
FIXED! - I needed to delete the default virtual hosts file in sites-enabled directory!
Upvotes: 3
Reputation: 16844
My guess is you're looking in the right place, and its something to do with user permissions.
Number 1 rule for Passenger is;
Also, I'd suggest, don't ever run as root.
/var/www
or /var/rails
are common places to put your rails apps
but I usually end up having a user for each app, and putting it in the home directory.
Namely, for my application I have;
myapp
/home/myapp/deploy/
/home/myapp/deploy/current
myapp
My apache config is something like
<VirtualHost *:80>
ServerName myapp.com
DocumentRoot /home/myapp/deploy/current
</VirtualHost>
For me this makes the separation of ownership clear, and avoids any of these problems.
(notably, all tasks done via capistrano are done as the myapp
user)
Upvotes: 1