Si vous avez déjà installé ruby sur votre machine ( comme moi ), il n'est pas inutile de nettoyer son système. Ces manipulations ne sont évidemment pas à faire si vous n'avez pas encore ruby.

Pour commencer un petit

 geshi bash
dpkg -l | grep ruby

pour lister les paquets installés puis on y va à grands coups de

 geshi bash
aptitude purge paquet

Ensuite il faut virer toutes les librairies à la main et autres bidules installés par compilation.

 geshi bash
locate ruby > liste.txt

Pour avoir une bonne liste de ce qui est installé sur votre machine ( output dans un txt parce qu'il y en a une chiée ) et on

 geshi bash
rm -r dossier

Ayez quand même l'oeil, ne virez rien que vous pourriez regretter.

Fresh Reinstall

Quand vous êtes bon, on peut passer à la réinstall ( ou à l'install si vous n'aviez pas encore ruby sur votre machine ). Et c'est une petite partie de plaisir, il suffit d'installer le paquet rails pour que toutes les dépendences s'installent avec lui ( y compris ruby1.8 himself ). Il se trouve sur le dépot testing officiel de Debian.

Mais pour commencer, éditer /etc/apt/apt.conf ( si le fichier n'existe pas, créer-le ) pour prévenir que vous êtes en stable. Ajoutez les lignes suivantes :

 geshi bash
APT::Default-Release "stable";

Ensuite mettez à jour aptitude :

 geshi bash
aptitude update

Et installez rails

 geshi bash
aptitude install rails

Voilà le gros du boulot est fait :note:

Vous pouvez dès maintenant tester RoR dans avec son petit serveur serveur de dev intégré WEBrick. Pour ça, créez une application RoR :

 geshi bash
rails /home/user/www/rails

Et lancer WEBrick

 geshi bash
cd /home/user/www/rails
ruby script/server

Vous pouvez admirer le message "Welcome aboard, You’re riding the Rails!" à l'adresse http://localhost:3000.

Si vous utilisez un serveur distant ou que le port est occupé, il suffit relancer WEBrick avec

 geshi bash
ruby script/server -b monserveur.com -p 5555

N'oubliez pas d'ouvrir le port dans votre firewall, ça peut vous éviter des heures à chercher ce qui ne fonctionne pas, et je sais de quoi je parle :note:

Faire fonctionner Ruby avec Apache 2

WEBrick c'est bien mais l'idée serait de faire fonctionner RoR avec Apache. Pour ce faire vous avez 2 méthodes, soit le mod_ruby qui va embarquer l'interpreteur ruby directement dans le moteur d'apache, soit le mod_cgi qui va lancer une passerelle entre l'interpreteur extèrne et Apache. Le mod_ruby est connu pour être lent et buggué ( enfin relativisons quand même ), nous allons donc installer ruby en cgi, ou plutôt en fastcgi quite à faire le geek.

Ici les choses se compliquent un tout petit peu, j'ai moi-même eu des problèmes avec le mod_fastcgi qui me créait des instances de ruby sans que je ne lui demandé, j'ai donc opté pour son remplacement, le mod_fcgid qui fait exactement la même chose et a une configuration que je trouve plus claire.

On y va alors :

 geshi bash
aptitude install libapache2-mod-fcgid libfcgi-ruby1.8

On active le module et on relance Apache

 geshi bash
a2enmod fcgid
/etc/init.d/apache2 restart

Il faut maintenant modifier l'htaccess dans /home/user/www/rails/public/.htaccess

On commente

 geshi bash
AddHandler fastcgi-script .fcgi

Et on remplace par

 geshi bash
AddHandler fcgid-script .fcgi

On peut aussi changer la règle de réécriture par :

 geshi bash
RewriteRule ^(.*)$ dispatch.fcgi \[QSA,L\]

Il reste à créer un vhost rendre tout ça joli

geshi
<VirtualHost *>
    ServerName rails.monserveur.com

    DocumentRoot /home/user/www/rails/public/
    ErrorLog /home/user/www/rails/log/apache.log

    <Directory /home/user/www/rails/public/>
      Options ExecCGI FollowSymLinks
      AllowOverride All
      Order allow,deny
      Allow from all

    </Directory>
</VirtualHost>

Et evidemment de recharger Apache2.

Allez jeter un oeil à rails.monserveur.com, vous si vous êtes accuellis par la page de RoR c'est bon :note:

Ruby Gems

Dernier truc non négligeable, Ruby possède son propre gestionnaire de paquet à la manière de l'apt-get. Ca serait cool de l'installer. J'ai n'ai malheureusement pas pu trouver de paquet rubygems qui soit à jour, il va donc falloir allez chercher les sources sur rubyforge.

 geshi bash
cd /tmp
wget http://rubyforge.org/frs/download.php/5207/rubygems-0.8.11.tgz
tar xzvf rubygems-0.8.11.tgz
cd rubygems-0.8.11
ruby install.rb

Mettons rubygems à jour

 geshi bash
sudo gem update --system

Et commenons par installer quelques chouettes gems ( -y inclus d'office les dépendences )

 geshi bash
gem install BlueCloth RedCloth switchtower syntax -y

Pour finir, installons quelques librairies utiles à ruby

 geshi bash
aptitude install libgd-ruby1.8
aptitude install libmysql-ruby1.8
aptitude install librexml-ruby1.8

Et voilà, on est prêt à se lancer dans le developpement de belles applications en RoR :note:

Vous pouvez aussi installer Typo, chouette blog basé sur RoR ou aller consulter quelques tutos sur rubyonrails, railsfrance ou rubyfr.org