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
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>

24 décembre 2006 à 02:43 |
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)
12 mars 2007 à 07:00 |
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.
2 avril 2007 à 07:32 |
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!!!!