How to launch a RoR app on Apache (Windows)?

Hi,

I am a newbie in RoR.
My OS is Windos XP and I install InstantRails(v2.00) for the RoR
development environment.
I already write a simple RoR app and works perfectly on Mongrel that
provided by InstantRails.
Now, I am trying to deploy my RoR app works on Apache(v1.3.33) by
following the tutorial:
http://wiki.rubyonrails.org/rails/pages/Fast+CGI+and+Apache2+for+Windows+XP

Here is the setting of my Apache configuration file - httpd.conf:
<VirtualHost *>
SetEnv RAILS_ENV development
ServerName localhost
DocumentRoot D:/InstantRails-2.0-win/rails_apps/myruby/public
ErrorLog D:/InstantRails-2.0-win/rails_apps/myruby/log/apache.log

<Directory D:/InstantRails-2.0-win/rails_apps/myruby/public/>
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
AddHandler fastcgi-script .fcgi
AllowOverride all
Order allow,deny
Allow from all

BTW, I didn’t open the fastcgi module.
#LoadModule fastcgi_module modules/mod_fastcgi.dll
#AddModule mod_fastcgi.c
Because it will show up a error message that can’t find the
mod_fastcgi.dll file, even I already download it
from “http://www.fastcgi.com/dist/” and put at modules directory.

Then I connect to URL “http://localhost/
But it will always show up 403 error message as below:
Forbidden
You don’t have permission to access / on this server.

If I restore the original index.html file. I can see the welcome
message,
Welcome aboard
You’re riding Ruby on Rails!
But if add the controller name at URL tail, like: http://localhost/home
Then it will show up 404 error message,
Not Found
The requested URL /home was not found on this server.

I already spent a whole day to find the solution, but still can’t get
a good answer.
I must admit I am not very familiar with the Apache configurations.
Could someone tell me what’s wrong?

The following is my environment information:
Ruby: 1.8.6
Rails: 2.0.2
Apache: 1.3.33
OS: Windows XP sp2

David

Forget to say, I didn’t modify the .htaccess file in the rails app
public folder.
Because In Rails 2.0.2, that file is already removed.
Is that cause makes my app can’t be launched properly?
How should I do in Rails 2.0.2 ?

On 14 May 2008, at 07:15, FireStoke wrote:

Hi,

BTW, I didn’t open the fastcgi module.
#LoadModule fastcgi_module modules/mod_fastcgi.dll
#AddModule mod_fastcgi.c
Because it will show up a error message that can’t find the
mod_fastcgi.dll file, even I already download it
from “http://www.fastcgi.com/dist/” and put at modules directory.

So you’ve not turned on the fastcgi module, you know apache can’t find
it, yet you’re still hoping that fastcgi will still work? I can’t help
you with fastcgi, but I can tell you that most people in production
use a cluster of mongrels that is proxied to (by apache, nginx etc…)
if I were you I wouldn’t waste my time with fastcgi.

Fred

hmm… Finally, I launch on apache sucessfully.
The solution is Apache + Mongrel, using proxy reverse technical.
Now, I run with my ruby app prefectly. Thanks!! guys. :^)

David

I haven’t used it, but Passenger is supposed to make RoR deployment on
Apache quick and easy.

Ryan B. has a tutorial on Passenger:

http://www.railsplugins.net/passenger.mov

stuart