Apache a besoin d’être configuré pour faire fonctionner les fichiers CGI pour que Rails tourne. Vérifiez que vous avez AddHandler cgi-script .cgi quelque part dans le fichier de config Apache.
Dans la configuration Apache, remplacez le /path/application avec le chemin complet du dossier rails unpacked avec le tar.gz, et soyez certain de rajouter le dossier public ou log on where noted below. Il faut aussi activer le CGI et octroyer quelques droits d’accès comme montré ci-après. La ligne \AllowOverride est importante – en interne, Rails utilise quelques redirections qui prennent place dans le fichier .htaccess situé dans le dossier public. (Suse 9.1’s Apache is locked down fairly tight.)
Rails exige aussi le module mod_rewrite.
LoadModule rewrite_module modules/mod_rewrite.so
<VirtualHost *:80>
ServerName rails
DocumentRoot /path/application/public/
ErrorLog /path/application/log/apache.log
<Directory /path/application/public/>
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Rails reportera les erreurs de Apache dans log/apache.log et les erreurs du code Ruby dans log/development.log. Si vous avez un problème, regardez ce que vous racontent ces logs.
Sur Unix et Mac OS X vous pouvez lancer tail -f log/development.log sur un terminal séparé pour monitorer l’exécution de votre application.
Plus d’infos sur la configuration d’un serveur entier pour rubyonrails (debian sur dedibox) : Apache 2.2 + MySQL + Ruby + Rails + PHP + Mongrel + Mongrel_cluster + Subversion + Trac + Capistrano