Installations de Ruby On Rails

(Dernière modification : 2013/09/17)

Cliquez sur la table des matières pour la cacher / développer :

1) Installation sur un environnement Linux / Debian (ou Ubuntu)

1.1) Installation standard

1.1.1) Les logiciels de base

On commence par l'installation des paquets debian de base :
apt-get install ruby rdoc ri libreadline-ruby

#Sous debian un certain nombre de dépendances système doivent être installées avec :
apt-get install libruby1.8

#ces paquets sont nécéssaires pour pouvoir compiler openssl avec RVM
apt-get install ruby-dev libssl-dev
On installe le gestionnaire de paquets de Ruby :
apt-get install rubygems

#Avec sa documentation :
apt-get install rubygems rubygems-doc

Ensuite on passe le relai au gestionnaire de paquets de Ruby (Gem) :
gem install -V rails

#En précisant la version :
#V2.3 :
gem install -V rails -v=2.3.14
#V3
gem install -V rails -v=3.0.10

1.1.2) Les logiciels optionnels

  • A voir
  • apt-get install libopenssl-ruby
    apt-get install libwww-mechanize-ruby
    apt-get install compass-susy-plugin
    
  • Facets : Classes supplémentaires
  • apt-get install libfacets-ruby
    Core :
    Functor, Stackable, Binding
    Autres :
    Dictionary, LinkedList, PQueue, Random

  • Chargement dynamique de librairies dans des programmes ruby :
  • apt-get install libffi-ruby
  • Design vues rails : grille de placement css
  • apt-get install compass-susy-plugin1.8
  • Gestion pdf :
  • apt-get install libprawn-ruby

1.1.3) gem Ruby Path

Il est à noter qu'à ce jour, les gems sont installés dans :
/var/lib/gems
(Ce qui pose problème par rapport à la politique d'installation de Debian).
Anciennnement avec debian les gems étaient installé dans (C.f. rubygems V1.6.2 p. ex.) :
/usr/lib/ruby/gems/1.8
Alors que ruby est installé dans :
/usr/lib/ruby
Donc le chemin à rajouter dans la variable PATH est :
export PATH=$PATH:/var/lib/gems/1.8/bin

1.1.4) Évolution dans les dépendances de paquets debian

2010-03-29 -- plus besoin du paquet libzlib-ruby
2010-05-10 -- le paquet ruby fournit irb

1.2) Changer de serveur http

1.2.1) Apache à la place du serveur web intégré

apt-get install libapache-mod-fastcgi libfcgi-ruby1.9
apt-get install apache2 libapache2-mod-ruby libapache2-mod-fcgid
apt-get install eruby #optionnel
apt-get install libfcgi-dev
gem install -V fcgi
md /var/www/rails
chown -R www-data:www-data /var/www/rails

1.2.2) Mongrel à la place de Webrick

apt-get install mongrel

1.3) Base De Données

1.3.1) Postgres

#ce paquet est nécéssaire pour pouvoir compiler le support postgres avec RVM
apt-get install libpq5 libpq-dev

apt-get install libpgsql-ruby

#Avec rails 3
gem  install pg -- --with-pg_config=/usr/lib/postgresql/8.4/bin/pg_config
#gem install -V ruby-pg
#gem install -V postgres-pr #utile ?

1.3.2) Version Postgres jdbc

gem install -V activerecord-jdbcpostgresql-adapter

1.3.3) Mysql

[sudo] apt-get install libmysqlclient-dev libmysql-ruby
[sudo] gem install mysql

1.3.4) Sqlite3

apt-get install libsqlite3-ruby

 

2) Installation sur un environnement Windows :

2.1) Base De Données

  • Rails
  • Vous pouvez vous reporter à la page :
    http://wiki.rubyonrails.org/getting-started/installation/windows
    Attention: cette documentation ne prends pas en compte Rails V2.
  • Sqlite3
  • gem install -V sqlite3-ruby
    Puis installation de sqlite3
    Télécharger la DLL ici :
    http://www.sqlite.org/download.html
    Télécharger : sqlite-dll-win32-x86-??????.zip (This ZIP archive contains a DLL for the SQLite library)
    dans : Precompiled Binaries For Windows

    La copier dans :
    %windows%\system32
  • Postgres
  • gem install -V postgres-pr

2.2) Sur un système sans utilisateur paramétré :

Il faut lancer le service Connexion secondaire (Secondary logon)

2.3) Logiciels annexes (Février 2010)

 

3) Gestion des projets avec Rake (make de ruby, Ruby Make) :

3.1) Utilisation :

Liste des tâches :
rake -T
#ou
rake --tasks

Lancement d'une tâche :
rake <namespace>:<tache>

Invocation depuis un fichier Ruby dans Rails :
Rake::Task["<namespace>:<tache>"].invoke

Sélection de l'environnement parmis :
  • development
  • test
  • production
rake <namespace>:<tache> RAILS_ENV="<environnement>"

#ex:
rake db:migrate RAILS_ENV="production"

3.2) Liste des commandes :


3.3) Tâches dépendantes de la B.D.D. :

case ActiveRecord::Base.connection.adapter_name
	when /postgres/i
		ActiveRecord::Base.connection.disconnect!
		`sudo -u #{config['username']} dropdb #{config['database']} && sudo -u postgres createdb #{config['database']}`
		ActiveRecord::Base.establish_connection(config)
	when /mysql/i
		`echo "DROP DATABASE #{config['database']}; CREATE DATABASE #{config['database']}" | mysql -u #{config['username']}`
	when /sqlite/i
		`rm #{RAILS_ROOT}/#{config['database']}`
end

3.4) Processus d'initialisation :

On peut déterminer la version de Rails, et en fonction appliquer des processus d'initialisation différents :
Rails::VERSION.constants
#=> ["TINY", "STRING", "MINOR", "MAJOR"]

if Rails::VERSION::MAJOR > 2 then
	...
end

 

4) Outils de surveillance :

4.1) Application Monit :

apt-get install monit

 

5) Montée en charge :