Le 57ième guide RoR - installation d’une configuration locale sur Dreamhost
19 décembre 2006 par Marc Charlet
Comme je viens du monde Wordpress et PHP, ma toute première approche du monde ‘Ruby on Rails’ a été un tentative d’installation d’un système de blog du style de Typo. Comme le site de typo était alors momentanément indisponible1, je me suis rabattu sur l’installation du système de blog Mephisto dont beaucoup de gens disaient le plus grand bien…
J’ai suivi scrupuleusement le tutoriel d’installation de LabRatz et je suis tombé sur mes deux premières difficultés:
- il fallait une version locale de RuyGems pour installer le gem TzInfo.
-
une des fonctions invoquées nécessitait le passage à une version plus récente2 de Ruby, c’est-à dire au moins la version 1.8.4.
Il a fallu se rendre à l’évidence: je devais m’aménager un configuration locale à même de de répondre à mes besoins, en particulier, à même de me permettre d’installer le système de blog Mephisto.
Après bien de recherches sur Google, j’ai mis au point le plan d’installation suivant:
- comme j’ai dans l’idée de faire de l’authentification, j’ai installé en local la dernière version de OpenSSL
- la dernière version de Ruby installée en local avec support SSL
- une version locale et à jour de RubyGems
- une installation locale Rails
Rails vient de passer à la version 1.2.x
Pour ceux qui installent Rails pour la première fois, la méthode présentée cet article reste valable, seule la numérotation des versions installées a changé3 .
(i) Pour ceux qui veulent mettre leur version existante à jour, voir ici la marche à suivre. Attention aux conflits toujours possibles entre les différentes versions des composants.
- l’installation locale du connecteur mysql
- l’installation locale du connecteur fcgi
Cette installation est essentiellement basée sur l’article de Carl Youngblood sur www.ruby-forum.com
Note: dans la suite de l’article, /home/nom_utilisateur est la valeur du ‘home directory’ $HOME pour l’hébergement sur Dreamhost.
D’abord créons le répertoire local pour les fichiers sources
mkdir -p $HOME/extra/src
Installation locale de la dernière version de OpenSSL
cd $HOME/extra/src
wget http://www.openssl.org/source/openssl-0.9.8d.tar.gz
tar zxvf openssl-0.9.8d.tar.gz
cd openssl-0.9.8d
./config --prefix=$HOME/extra
make
make test
make install
- vérifions le résultat:
which openssl; openssl version
/home/mon_utilisateur/extra/bin/openssl
OpenSSL 0.9.8d 28 Sep 2006
Installation locale de la version 1.8.5 de Ruby
L’installation se fait en deux temps:
- d’abord installation locale de la dernière version de readline
cd $HOME/extra/src
wget ftp://ftp.cwru.edu/pub/bash/readline-5.2.tar.gz
tar zxvf readline-5.2.tar.gz
cd readline-5.2
./configure --prefix=$HOME/extra
make
make install
- ensuite installation locale de la dernière version de ruby
cd $HOME/extra/src
wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.5.tar.gz
tar zxvf ruby-1.8.5.tar.gz
cd ruby-1.8.5
./configure --prefix=$HOME/extra --with-openssl=$HOME/extra --with-readline-dir=$HOME/extra
make
make install
- modifions le $PATH dans notre shell bash pour tenir compte de la nouvelle installation de Ruby:
echo 'export PATH="$HOME/extra/bin:$PATH"' >> .bash_profile
source .bash_profile
- à nouveau vérifions le résultat:
which ruby; ruby -v
/home/mon_utilisateur/extra/bin/ruby
ruby 1.8.5 (2006-08-25) [i686-linux]
Installation locale du connecteur MysSQL
cd $HOME/extra/src
wget http://tmtm.org/downloads/mysql/ruby/mysql-ruby-2.7.2.tar.gz
tar zxvf mysql-ruby-2.7.2.tar.gz
cd mysql-ruby-2.7.2
ruby extconf.rb --with-mysql-config=
ruby extconf.rb --with-mysql-config=/usr/bin/mysql_config
make
ruby ./test.rb
make install
Installation locale de FastCGI
cd $HOME/extra/src
wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
tar zxvf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure --prefix=$HOME/extra
make
make install
- vérifions:
which cgi-fcgi
/home/mon_utilisateur/extra/bin/cgi-fcgi
Installation locale du connecteur FastCGI
cd $HOME/extra/src
wget http://sugi.nemui.org/pub/ruby/fcgi/ruby-fcgi-0.8.6.tar.gz
tar zxvf ruby-fcgi-0.8.6.tar.gz
cd ruby-fcgi-0.8.6
ruby install.rb config
ruby install.rb setup
ruby install.rb install
Installation de la version locale de RubyGem
cd $HOME/extra/src
wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz
tar zxvf rubygems-0.9.0.tgz
cd rubygems-0.9.0
ruby install.rb config --prefix=$HOME/extra
ruby setup.rb config --prefix=$HOME/extra
ruby setup.rb setup
ruby setup.rb install
- vérifions le résultat:
which gem; gem -v
/home/mon_utilisateur/extra/bin/gem
0.9.0
- et aussi:
gem env
Rubygems Environment:
- VERSION: 0.9.0 (0.9.0)
- INSTALLATION DIRECTORY: /home/mon_utilisateur/extra/lib/ruby/gems/1.8
- GEM PATH:
- /home/mon_utilisateur/extra/lib/ruby/gems/1.8
- REMOTE SOURCES:
- http://gems.rubyforge.org
Installation locale de la dernière version de Rails
cd $HOME/extra/src
gem install rails --include-dependencies
- vérifions:
which rails; rails -v
/home/mon_utilisateur/extra/bin/rails
Rails 1.1.6
- stabilisons l’ensemble:
gem update
gem install mysql
gem install fcgi
Dernère vérification
gem list
*** LOCAL GEMS ***
actionmailer (1.2.5)
Service layer for easy email delivery and testing.
actionpack (1.12.5)
Web-flow and rendering framework putting the VC in MVC.
actionwebservice (1.1.6)
Web service support for Action Pack.
activerecord (1.14.4)
Implements the ActiveRecord pattern for ORM.
activesupport (1.3.1)
Support and utility classes used by the Rails framework.
fcgi (0.8.7)
FastCGI library for Ruby.
mysql (2.7)
MySQL/Ruby provides the same functions for Ruby programs that the
MySQL C API provides for C programs.
rails (1.1.6)
Web-application framework with template engine, control-flow layer,
and ORM.
rake (0.7.1)
Ruby based make-like utility.
sources (0.0.1)
This package provides download sources for remote gem installation
A suivre…
Retour vers l’article d’introduction
Tags: Dreamhost, fcgi, gem, guide-débutant, mephisto, RoR, ruby, Ruby on Rails, rubygem
