So close ... Static page is served

Hi Folks,

I am working to deploy a Ruby on Rails application on Apache. I’ve built the mod_passenger tarball and copied it to /usr/lib64/httpd/modules/mod_passenger. I’ve verified that ownership is root:root, and permissions are 755, and there is an appropriate selinux context. So that is all good.

When I goto the root URL, http://todo.tryx.org/, I don’t get the result of having run ruby, I get a static page of …/public/dispatch.fcgi, which looks like this:

#!/usr/bin/env ruby

You may specify the path to the FastCGI crash log (a log of unhandled

exceptions which forced the FastCGI instance to exit, great for debugging)

and the number of requests to process before running garbage collection.

By default, the FastCGI crash log is RAILS_ROOT/log/fastcgi.crash.log

and the GC period is nil (turned off). A reasonable number of requests

could range from 10-100 depending on the memory footprint of your app.

Example:

# Default log path, normal GC behavior.

RailsFCGIHandler.process!

# Default log path, 50 requests between GC.

RailsFCGIHandler.process! nil, 50

# Custom log path, normal GC behavior.

RailsFCGIHandler.process! ‘/var/log/myapp_fcgi_crash.log’

require File.dirname(FILE) + “/…/config/environment”
require ‘fcgi_handler’

I have apparently not configured things quite properly. Any advice?

Thanks for the help,

Chris.

Hi Folks,

I am working to deploy a Ruby on Rails application on Apache. I've built the mod_passenger tarball and copied it to /usr/lib64/httpd/modules/mod_passenger. I've verified that ownership is root:root, and permissions are 755, and there is an appropriate selinux context. So that is all good.

When I goto the root URL, http://todo.tryx.org/, I don't get the result of having run ruby, I get a static page of .../public/dispatch.fcgi, which looks like this:#!/usr/bin/env ruby
#

You don't need a dispatch.fcgi at all with passenger - perhaps the fact that it's been used means that you have a .htaccess hanging around pointing requests at it

Also did you add the directives passenger generates for you to your Apache config?

Fred

It’s been a while since I used passenger, but did you put the correct passenger declaration pointing to the /public folder of your Rails into the httpd.conf file (or a site-specfic file that is included in httpd.conf)?

You didn’t show your httpd.conf file so it leaves us to wonder.

Finally, you might get more help on the Passenger list than this list, because it looks like the issue is in your Apache/Passenger config not your Rails config.

-Jason

Hi Jason,

Please forgive the oversights. I’m still feeling my way around in the dark…

It’s been a while since I used passenger, but did you put the correct passenger declaration pointing to the /public folder of your Rails into the httpd.conf file (or a site-specfic file that is included in httpd.conf)?

I think you mean this:

DocumentRoot /var/www/vhost/todo.tryx.org/tracks/public
<Directory “/var/www/vhost/todo.tryx.org/tracks/public”>
Options +FollowSymLinks -MultiViews
AllowOverride none

and this:

LoadModule passenger_module modules/mod_passenger.so

PassengerRoot /var/www/vhost/todo.tryx.org/passenger-4.0.56
PassengerDefaultRuby /usr/bin/ruby

Finally, you might get more help on the Passenger list than this list, because it looks like the issue is in your Apache/Passenger config not your Rails config.

I’m covering my bets, because I don’t understand enough of the problem to know exactly where it is, so I’ve posted to the Passenger folks, and I’ve chatted with some folks on IRC. I’ve read my horoscope, but it is silent on the issue. (-:

Thanks for the help,

Chris.

I think your config is wrong.

The Passenger list is the best place for you to get help as your problem is in your Apache/Passenger config.