Installer Redmine sous Ubuntu
Redmine est un gestionnaire de projet technique exploitant Ruby on Rails et très inspiré de Trac, mais qui le dépasse fonctionnellement sur plusieurs points, notamment avec une gestion multiprojets qui fait cruellement défaut à son inspirateur. Voyons comment installer et déployer la dernière version de la branche stable (0.8) sur une Ubuntu Hardy Heron LTS[1].
Toutes les opérations décrites ci-dessous se font en root
, mais libre à vous d’utiliser sudo
à chaque fois, ou une fois pour toutes en lançant la commande sudo -s
.
En préambule, on installe les quelques paquets qui nous seront nécessaires[2] :
# apt-get install build-essential ruby ruby1.8-dev rake libopenssl-ruby \\ libmysql-ruby apache2-threaded-dev subversion git
Maintenant, on récupère les sources de Redmine[3], qu’on va installer dans /opt
:
# svn co http://redmine.rubyforge.org/svn/branches/0.8-stable /opt/redmine-0.8 # ln -s /opt/redmine-0.8 /opt/redmine
On va ajouter les sources de la version 2.1.2 de rails[4] dans le répertoire vendor
de l’application, afin de cloisonner autant que possible l’environnement qu’elle exploite :
# cd /opt/redmine # wget -O rails.tar.gz http://github.com/rails/rails/tarball/v2.1.2 # tar xvzf rails.tar.gz && rm rails.tar.gz # mv railsXXX vendor/rails
Créez maintenant une base de données (MySQL ou autre) dédiée à Redmine. Une bonne pratique est de créer également un utilisateur MySQL aux droits restreints à sa seule exploitation.
Ensuite, éditez le fichier config/database.yml
afin de modifier les paramètres de connexion à la base de données précédemment créée.
On installe maintenant une version récente de rubygems
, ce qui nous permettra d’installer passenger
, une sorte de mod_rails permettant de déployer facilement des applications rails sur un serveur Apache :
# wget http://rubyforge.org/frs/download.php/56228/rubygems-1.3.3.tar.gz # tar xvzf rubygems-1.3.3.tar.gz && rm rubygems-1.3.3.tar.gz # ruby setup.rb # rm -r rubygems-1.3.3
Vous pouvez maintenant lancer la tâche de création des tables :
# rake db:migrate RAILS_ENV="production"
Et remplir la base avec quelques données par défaut :
# rake redmine:load_default_data RAILS_ENV="production"
On installe donc passenger
, qui au passage vous posera quelques questions très simples :
# gem install passenger
On installe le module apache pour prendre en charge passenger :
# passenger-install-apache2-module
Pour mapper un domaine - par exemple mon.domaine.tld
- vers votre instance Redmine, il faut d’abord créer un VirtualHost apache dédié, par exemple dans le fichier /etc/apache2/sites-available/redmine
:
<VirtualHost *> SetEnv RAILS_ENV production ServerName mon.domaine.tld DocumentRoot /opt/redmine/public </VirtualHost>
Vous noterez que la racine publique du vhost pointe vers le dossier public
de l’instance Redmine précédemment installée. N’oubliez pas non plus de déclarer le domaine dans votre fichier /etc/hosts
:
127.0.0.1 mon.domaine.tld
On active maintenant le vhost et on relance Apache :
# a2ensite redmine # /etc/init.d/apache2 restart
Une dernière petite chose, vous devez autoriser Apache à lire et écrire dans certains répertoires de l’instance Redmine, comme suit :
# cd /opt/redmine # chown -R www-data:www-data files log tmp # chmod -R ug+rw files log tmp # chmod -R o-rw files log tmp
Voila, vous devriez avoir une instance totalement fonctionnelle de Redmine, accessible par le domaine que vous avez configuré.
En cadeau Bonux, le support de GMail et TLS pour l’envoi d’emails
Si vous désirez configurer l’envoi des emails en utilisant un (ou votre) compte GMail[5], voici la procédure :
Installez tout d’abord le support de TLS pour ActiveMailer :
# cd /opt/redmine # ruby script/plugin install git://github.com/collectiveidea/action_mailer_optional_tls.git
Puis éditez le fichier config/email.yml
:
production: delivery_method: :smtp smtp_settings: tls: true address: "smtp.gmail.com" port: '587' domain: "smtp.gmail.com" authentication: :plain user_name: "votreadresse@gmail.com" password: "votremotdepasse"
Relancez Apache pour que la modification soit effective.
Edit : Prise en compte de certaines remarques faites en commentaires.
Notes
[1] C’est la version qui propulse mon serveur.
[2] Ce sont les paquets qui m’ont été nécessaires, sur ma machine ; n’hésitez pas à remonter d’éventuels manques en commentaires.
[3] On installe ici la dernière branche stable disponible à l’heure où sont écrites ces lignes, la 0.8.
[4] Oui, il y a plus récent, mais Redmine 0.8 est conçu pour tourner avec cette version : autant limiter les risques d’incompatibilités.
[5] L’intérêt principal à mes yeux reste l’archivage de tous les éléments envoyés.
Ce billet intitulé Installer Redmine sous Ubuntu a été rédigé par Nicolas Perriault et publié sur le blog Prendre un Café sous licence Creative Commons BY-NC-SA.