$ sudo aptitude install ruby
$ sudo aptitude install rubygems
$ sudo gem install rake --include-dependencies $ sudo gem install will_paginate --include-dependencies $ sudo gem install RedCloth --include-dependencies $ sudo gem install acts-as-taggable-on --include-dependencies
$ cd /usr/local/share $ sudo git clone git://github.com/dim/retrospectiva.git
Changer les droits sur le répertoire pour qu'ils soient accesible au serveur web. Pour le moment je ne sais pas quels sont les répertoires qui doivent être modifiables par le serveur http. J'ai donc choisi la facilité et changé les droits de toute l'arborescence. Cette manipulation sera à changer par la suite.
$ sudo chown -R www-data: /usr/local/share/retrospectiva
$ sudo aptitude install libmysqlclient-dev $ sudo gem install mysql --include-dependencies
CREATE DATABASE IF NOT EXISTS retrospectiva; GRANT ALL PRIVILEGES ON retrospectiva.* TO "retrospectiva"@"localhost" IDENTIFIED BY "xxxxxxxxxxx";
Remplacer bien entendu les xxxx par le mot de passe.
$ cd /usr/local/share/retrospectiva $ sudo cp config/templates/database.mysql.yml config/database.yml
Puis éditer le fichier de configuration pour qu'il corresponde à la base retrospectiva créée précédemment.
Dans le fichier “database.yml”
# MySQL. Versions 4.1 and 5.0 are recommended. # # Install the MySQL driver: # gem install mysql # On Mac OS X: # sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql # On Mac OS X Leopard: # sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config # This sets the ARCHFLAGS environment variable to your native architecture # On Windows: # gem install mysql # Choose the win32 build. # Install MySQL and put its /bin directory on your path. # # And be sure to use new-style password hashing: # http://dev.mysql.com/doc/refman/5.0/en/old-client.html production: adapter: mysql encoding: utf8 reconnect: false database: retrospectiva pool: 5 username: retrospectiva password: xxxxxxxxxxx host: localhost
$ sudo rake RAILS_ENV=production db:setup
$ sudo aptitude install apache2-prefork-dev $ sudo aptitude install libapr1-dev $ sudo gem install passenger $ sudo ./var/lib/gems/x.x.x/bin/passenger-install-apache2-module
ou x.x.x est la version de gems installée.
Suivre les instruction de l'assistant qui va détecter la version d'apache et afficher les instructions qui vont avec.
Il y a un problème avec la détection de la locale du système. Il faut donc l'indiquer au moment de l'exécution de ruby. Pour cela, on va créer un script qui va être exécuté au lieu d'appeler directement le binaire ruby et qui explicitement renseigné l'encodage.
$ cd /usr/local/bin $ sudo touch ruby_utf8 $ sudo chmod +x ruby_utf8
Dans le fichier ruby_utf :
exec /usr/bin/rubyx.x.x -E utf-8:utf-8 "$@"
ou x.x.x est la version de ruby installée
Dans le répertoire /etc/apache2/mods-available On va créer deux fichiers :
LoadModule passenger_module /var/lib/gems/x.x.x/gems/passenger-y.y.y/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/x.x.x/gems/passenger-y.y.y PassengerRuby /usr/local/bin/ruby_utf8
ou x.x.x est la version de ruby gems installée et y.y.y est la version du module passenger compilée
$ sudo a2enmod passenger
Ce qui devrait afficher le message suivant :
Enabling module passenger. Run '/etc/init.d/apache2 restart' to activate new configuration!
Recharger la configuration Apache
$ sudo /etc/init.d/apache2 force-reload
On va prendre pour exemple le domaine exemple.com
Et que retrospectiva devra être accessible avec l'adresse forge.exemple.com
<VirtualHost *:80>
ServerName forge.exemple.com
DocumentRoot /usr/local/share/retrospectiva/public # <-- be sure to point to 'public'!
<Directory /usr/local/share/retrospectiva/public>
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
</Directory>
</VirtualHost>
$ sudo a2ensite com.exemple.forge
$ sudo /etc/init.d/apache2 force-reload