Fils RSS pour les
Articles
Commentaires

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

 



  1. début décembre 2006 [retour]
  2. sur Dreamhost j’avais la version 1.8.2 [retour]
  3. Rails 1.2.2, gem 0.9.2 et ainsi de suite [retour]

Tags: , , , , , , , ,

Les commentaires sont fermés.