Installer Ruby On Rails et Mongrel sur un serveur OVH en release 1

L’idée est d’installer tout un environnement Ruby on Rails sur un serveur dédié OVH en release 1 (Apache 1.3, MySQL 3.23, …)

Cet article a été écrit de mémoire, il est possible qu’il y ait de petites erreurs. N’hésitez pas à me les signaler.

1) Installer Ruby

Voir : ruby-lang.org

# wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.5.tar.gz
# tar xzvf ruby-1.8.5.tar.gz
# cd ruby-1.8.5
# ./configure
# make
# sudo make install

2) Installer RubyGems

# wget http://rubyforge.iasi.roedu.net/files/rubygems/rubygems-0.9.0.tgz
# tar xzvf rubygems-0.9.0.tgz
# cd rubygems-0.9.0
# sudo /usr/local/bin/ruby setup.rb

3) Installer Ruby On Rails

# sudo gem install rails --include-dependencies

4) Installer FastCGI

# wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
# tar xzvf fcgi-2.4.0.tar.gz
# cd fcgi-2.4.0
# ./configure
# make
# sudo make install

5) Installer les bindings Ruby-FastCGI

# wget http://sugi.nemui.org/pub/ruby/fcgi/ruby-fcgi-0.8.6.tar.gz
# tar xzvf ruby-fcgi-0.8.6.tar.gz
# cd ruby-fcgi-0.8.6
# /usr/local/bin/ruby install.rb config
# /usr/local/bin/ruby install.rb setup
# sudo /usr/local/bin/ruby install.rb install
# sudo gem install fcgi

6) Installer la librairie PCRE

# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-6.7.tar.gz
# tar xzvf pcre-6.7.tar.gz
# cd pcre-6.7
# ./configure
# make
# sudo make install

7) Installer les serveur web Mongrel

Voir : mongrel.rubyforge.org

# sudo gem install mongrel

8) Installer les bindings MySQL

Attention, Rails conseille fortement MySQL 4+, notamment pour les tables InnoDB, …
J’ai des tas d’autres sites qui tournent avec du MySQL 3 et je ne souhaite pas changer, donc je vais utiliser SQLite pour mon appli Rails qui sera peu gourmande en base de données.

# sudo gem install mysql

9) Installer SQLite

9.1) Installer le serveur SQLite

# wget http://sqlite.org/sqlite-3.3.8.tar.gz
# tar -xzf sqlite-3.3.8.tar.gz
# cd sqlite-3.3.8/
# mkdir build
# cd build/
# ../configure --prefix=/usr/local/sqlite --disable-tcl --with-gnu-ld
# make
# make install
# gem install sqlite

9.1) Installer SWIG

# wget http://heanet.dl.sourceforge.net/sourceforge/swig/swig-1.3.29.tar.gz
# tar -xzf swig-1.3.29.tar.gz
# cd swig-1.3.29/
# ./configure
# make
# make check
# make install

9.2) Installer les bindings Ruby-SQLite

# gem install sqlite3-ruby -- --with-sqlite3-dir=/usr/local/sqlite

10) Rendre l’appli Rails accessible

10.1) Créer et démarrer une appli Rails

# rails /home/user/appli
# cd /home/user/appli
# mongrel_rails start -d -p 8000

On a donc une appli nommée « appli » qui tourne dans Mongrel en mode démon, sur le port 8000

On souhaite pouvoir acceder à l’appli sur le port 80 au lieu du port 8000, il faut donc utiliser le mod_proxy d’Apache sur un VirtualHost spécifique.

10.2) Recompiler Apache avec mod_proxy

J’ai utilisé la configuration présente dans le patch 1.67 :

# cd apache_1.3.34
# ./configure
--prefix=/usr/local/apache
--activate-module=src/modules/php4/libphp4.a
--enable-suexec
--suexec-caller=nobody
--suexec-userdir=www
--suexec-docroot=/home
--suexec-logfile=/usr/local/apache/logs/cgi.log
--suexec-uidmin=99
--suexec-gidmin=99
--suexec-safepath=/usr/local/bin:/usr/bin:/bin
--enable-module=so
--enable-module=rewrite
--add-module=src/modules/extra/mod_gzip.c
--enable-module=proxy
--enable-module=ssl
# make
# sudo make install
# sudo /etc/rc.d/init.d/httpd restart

10.3) Création du VirtualHost

Adapter et ajouter ceci dans votre /httpd.conf

<VirtualHost *:80>
ServerName appli.mon-domaine.com
ProxyPass / http://appli.mon-domaine.com:8000/
ProxyPassReverse / http://appli.mon-domaine.com:8000
</VirtualHost>
Cet article a été publié dans Informatique, PLUG. Ajoutez ce permalien à vos favoris.

3 commentaires pour Installer Ruby On Rails et Mongrel sur un serveur OVH en release 1

  1. olivier dit :

    J’ai également un serveur ovh … mais là je bloque sur l’install de SWIG … il me dit que mon Python ne correspond pas ou un message comme ca.

    Mon serveur a 2Go de ram et un processeur Celeron 2,6Ghz … je pense que le CPU est un peu limite pour faire du Rails non ?

    Vivement qu’ils proposent des serveurs dédiés optmisés et préinstallés pour Rails (on peut rêver)

  2. olivier: j’ai un serveur à base de celeron 1.7Ghz et ça fonctionne bien avec des petites applis simples.

    La question dépends surtout de ton appli elle-même et pas de Rails en soi.

  3. seb dit :

    Olivier… d’où te vient l’idée que 2Go de RAM avec un Celeron seraient un peu « limite » pour ton appli rails?!?
    Faut arreter de croire les légendes. A moins que tu développe un site avec des dizaines de milliers de visiteurs quotidiens et des processus assez complexes, ta conf est amplement suffisante.

    2Go de RAM!!!!

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s