Redmine est un système de gestion de projet en mode web. Il est développé en ruby grâce au framework ruby on rails. La dernière version stable de Redmine à ce jour est la version 1.0.2. Elle nécessite la version 2.3.5 de Rails et la version 1.0.1 de Rack.
Ce billet se base sur l'article suivant : http://doc.ubuntu-fr.org/redmine, il est adapté pour Debian.
Le site officiel de redmine est ici
Prérequis
Installer les packages suivants :
aptitude install build-essential ruby1.8-dev rubygems rake
Si vous êtes sous Debian-Lenny la version de rubygems fournit par debian n'est pas à jour, charger donc la dernière version et l'installer. Ceci est inutile si vous êtes sous Squeeze.
wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz tar -xvzf rubygems-1.3.7.tgz cd rubygems-1.3.7 ruby1.8 setup.rb
Charger rails et rack, les installations via gem sont assez lentes.
gem1.8 install rails -v=2.3.5 gem1.8 install rack -v=1.0.1
il peut être intéressant de créer le lien symbolique suivant :
ln -s /usr/bin/gem1.8 /usr/bin/gem
Installation de redmine
Télécharger redmine
wget http://rubyforge.org/frs/download.php/72627/redmine-1.0.2.tar.gz tar -xvzf redmine-1.0.2.tar.gz
Il faut une base de donnée, ici on prend MySQL. Installer la base de données
aptitude install mysql-server libmysqlclient-dev
Puis charger l'adaptateur MySQL pour ruby
gem1.8 install mysql
Créer un utilisateur spécifique. Pour des raisons de sécurité, il est préfèrable de créer un utilisateur spécifique à Redmine pour utiliser la base :
addgroup redmine adduser redmine --no-create-home --ingroup redmine
Un mot de passe sera demandé pour l'utilisateur redmine. L'exemple prendra motdepasse
Créer la base de données de Redmine
mysql -u root -p mysql> create database redmine default character set utf8 collate utf8_general_ci; mysql> grant all privileges on redmine.* to redmine@localhost identified by 'motdepasse' with grant option; mysql> flush privileges; mysql> exit;
Configuration
Se positionner dans le répertoire où sont décompressées les sources redmine et editer un fichier config/database.yml
production: adapter: mysql socket: /var/run/mysqld/mysqld.sock database: redmine host: localhost username: redmine password: motdepasse encoding: utf8
Puis entrer la commande suivante :
rake generate_session_store
Il faut installer le package suivant :
aptitude install libopenssl-ruby1.8
Sinon l'erreur suivante se produira :
Rake aborted! no such file to load -- net/https
Créer la structure de la base
RAILS_ENV=production rake db:migrate
Insérer les données par défaut
RAILS_ENV=production rake redmine:load_default_data
La langue sera demandée, fr pour du français.
Finalisation
En principe tout s'est fait sous l'identité root, aussi le mieux est de mettre redmine sous /opt afin de respecter les normes linux.
cd /opt mkdir redmine cd redmine cp -r /root/redmine-1.0.2/* .
Il faut un dossier pids doit être présent également pour permettre au serveur web mongrel ( voir plus loin ) de démarrer.
mkdir /opt/redmine/tmp/pids
Affecter les droits
cd /opt/redmine chown -R redmine:redmine files log tmp public/plugin_assets chmod -R 755 files log tmp public/plugin_assets
Pour fonctionner redmine a besoin d'un serveur web. Mongrel est un serveur HTTP écrit en Ruby et en C. Il a été conçu pour être léger, rapide et sécurisé. Il est bien sur possible d'utiliser apache ( voir le lien suivant )
aptitude install mongrel
Démarrage de redmine
Créer sous /etc/init.d un script redmine avec les instructions suivantes :
#!/bin/sh set -e REDMINE_PATH=/opt/redmine/ REDMINE_PID=/tmp/mongrel.pid REDMINE_PORT=3000 if [ -x /usr/bin/mongrel_rails ] ; then HAVE_MONGREL=1 else echo "Mongrel n'est pas installé." exit 0 fi . /lib/lsb/init-functions case "$1" in start) log_action_begin_msg "Démarrage de Redmine server" mongrel_rails start -c $REDMINE_PATH -d -e production -p $REDMINE_PORT -P $REDMINE_PID log_action_end_msg $? ;; stop) log_action_begin_msg "Arrêt de Redmine server" mongrel_rails stop -c $REDMINE_PATH -P $REDMINE_PID log_action_end_msg $? ;; force-reload|restart) $0 stop $0 start ;; *) echo "Usage: /etc/init.d/redmine {start|stop|restart|force-reload}" exit 1 ;; esac exit 0
Par défaut redmine sera accéssible via le port 3000.
Le rendre executable et l'activer au boot de la machine
chmod +x /etc/init.d/redmine update-rc.d redmine defaults
Démarer redmine
/etc/init.d/redmine start
Pointer un navigateur sur http://monserveur:3000. La page redmine s'affiche, le login de connexion par défaut est admin/admin.