Ruby on Rails
ConfigurerApache (Version #3)

Vérifier votre configuration Apache

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.

  1. Mise au point d’Apache pour une application Rails. Si vous prévoyez d’utiliser les host virtuels de Apache, voir “Exemple pour un conf Apache” ci-dessous. Si vous souhaitez une config sans hôtes virtuels, voir Non VHost Installation howto.
  2. Aller à rails/ (ou le nom de votre serveur) et vérifiez que vous obtenez bien la page ”Congratulations, you’re on Rails!
  3. Suivez les directives de l’écran “Congratulations, you’re on Rails!”

Exemple pour une conf 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.

<span class="newWikiWord">LoadModule<a href="http://wiki.rubyonrails.org/rails/pages/LoadModule">?</a></span> rewrite_module modules/mod_rewrite.so

<VirtualHost *:80>
    <span class="newWikiWord">ServerName<a href="http://wiki.rubyonrails.org/rails/pages/ServerName">?</a></span> rails
    <a href="http://wiki.rubyonrails.org/rails/pages/DocumentRoot" class="existingWikiWord">DocumentRoot</a> /path/application/public/
    <span class="newWikiWord">ErrorLog<a href="http://wiki.rubyonrails.org/rails/pages/ErrorLog">?</a></span> /path/application/log/apache.log

    <Directory /path/application/public/>
      Options <span class="newWikiWord">ExecCGI<a href="http://wiki.rubyonrails.org/rails/pages/ExecCGI">?</a></span> <span class="newWikiWord">FollowSymLinks<a href="http://wiki.rubyonrails.org/rails/pages/FollowSymLinks">?</a></span>
      <span class="newWikiWord">AddHandler<a href="http://wiki.rubyonrails.org/rails/pages/AddHandler">?</a></span> cgi-script .cgi
      <span class="newWikiWord">AllowOverride<a href="http://wiki.rubyonrails.org/rails/pages/AllowOverride">?</a></span> all
      Order allow,deny
      Allow from all

    </Directory>
  </VirtualHost>

Vérifier les logs pour trouver des indices

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

Vérifier votre configuration Apache

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.

  1. Mise au point d’Apache pour une application Rails. Si vous prévoyez d’utiliser les host virtuels de Apache, voir “Exemple pour un conf Apache” ci-dessous. Si vous souhaitez une config sans hôtes virtuels, voir Non VHost Installation howto.
  2. Aller à rails/ (ou le nom de votre serveur) et vérifiez que vous obtenez bien la page ”Congratulations, you’re on Rails!
  3. Suivez les directives de l’écran “Congratulations, you’re on Rails!”

Exemple pour une conf 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.

<span class="newWikiWord">LoadModule<a href="http://wiki.rubyonrails.org/rails/pages/LoadModule">?</a></span> rewrite_module modules/mod_rewrite.so

<VirtualHost *:80>
    <span class="newWikiWord">ServerName<a href="http://wiki.rubyonrails.org/rails/pages/ServerName">?</a></span> rails
    <a href="http://wiki.rubyonrails.org/rails/pages/DocumentRoot" class="existingWikiWord">DocumentRoot</a> /path/application/public/
    <span class="newWikiWord">ErrorLog<a href="http://wiki.rubyonrails.org/rails/pages/ErrorLog">?</a></span> /path/application/log/apache.log

    <Directory /path/application/public/>
      Options <span class="newWikiWord">ExecCGI<a href="http://wiki.rubyonrails.org/rails/pages/ExecCGI">?</a></span> <span class="newWikiWord">FollowSymLinks<a href="http://wiki.rubyonrails.org/rails/pages/FollowSymLinks">?</a></span>
      <span class="newWikiWord">AddHandler<a href="http://wiki.rubyonrails.org/rails/pages/AddHandler">?</a></span> cgi-script .cgi
      <span class="newWikiWord">AllowOverride<a href="http://wiki.rubyonrails.org/rails/pages/AllowOverride">?</a></span> all
      Order allow,deny
      Allow from all

    </Directory>
  </VirtualHost>

Vérifier les logs pour trouver des indices

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