samedi, décembre 26, 2009

J'ai besoin d'... installer l'outil de gestion de projets Redmine sous Windows

Redmine est un outil de gestion de projets à la Trac ou Mantis. Il fournit une interface graphique Web très agréable. Je l'utilise depuis plus d'un an pour la gestion des projets au travail et j'en suis très satisfait. Depuis peu, j'ai réalisé une installation sur un nouveau serveur et je profite de ce billet pour décrire les étapes de cette installation.

Redmine est développé en Ruby et je présente un manuel d'installation pour Windows et le SGBD PostgreSQL.

Le plan de cette installation est le suivant
  • Téléchargement
  • Pré-requis logiciels
  • Pré-installation
    • Ruby
    • RubyGems
    • Ruby modules
    • Préparation de la base de données

  • Installation
  • Utilisation Apache 2.2 comme Proxy
Téléchargement
La distribution officielle de Redmine est disponible à cette adresse (http://rubyforge.org/frs/?group_id=1850)

Pré-requis logiciels
Vous devez installer et configurer les outils suivant avant d'installer Redmine
  • Ruby (procédure d'installation est décrite dans ce billet)
  • Apache 2.2 HTTP
  • PostgreSQL 8.2
Pré-installation / Ruby
Ruby est un langage open-source dynamique qui met l'accent sur la simplicité et la productivité. Sa syntaxe élégante en facilite la lecture et l'écriture [Citation : http://www.ruby-lang.org/fr/].

Pour l'installation, la version 1.8.6 a été utilisée.
Pré-installation / RubyGems
RubyGems est l'outil de gestion de package de Ruby.
  • Télécharger le package RubyGems (http://rubyforge.org/frs/?group_id=126)
  • Extraire l'archive dans un répertoire temporaire
  • Ouvrir un invite de commande, se placer dans le répertoire créé précédemment et exécuter l'instruction suivante
ruby setup.rb
Pré-installation / Ruby Modules
Certains modules pour le langage Ruby doivent être installés (prise en compte de PostgreSQL par exemple), exécuter l'instruction suivante
gem install rails mongrel mongrel_cluster postgres-pr mongrel_service
Pré-installation / Préparation de la base de données
Les instructions suivantes concernent le SGBD PostgreSQL.
  • Créer un utilisateur Redmine
createuser redmine --no-superuser --no-createdb --no-createrole --login --pwprompt --encrypted -U postgres
  • Créer un nouveau schéma de base de données
createdb --owner=redmine --encoding=utf-8 redmine -U postgres
Installation
  • Décompresser l'archive de Redmine dans un répertoire d'installation (exemple : d:\tools\redmine)
  • Créer une copie du fichier database.yml.example en le renommant database.yml
  • Modifier le contenu du fichier database.yml file de façon à paramétrer les informations de connexion à la base de données.
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: redmine
encoding: utf8
  • Ouvrir un invite de commande Windows, se placer dans le répertoire de Redmine et suivre les instructions suivantes
  • Pour initialiser la session
rake config/initializers/session_store.rb
  • Pour utiliser la configuration de production
rake db:migrate RAILS_ENV="production"
  • Pour paramétrer la configuration de production
rake redmine:load_default_data RAILS_ENV="production"
  • A la question relative au langage, choisir l'option fr
  • Créer une copie du fichier email.yml.example en le renommant email.yml
  • Modifier le contenu du fichier email.yml file de façon à paramétrer les informations d'envoi d'emails.
production:
delivery_method: :smtp
smtp_settings:
address: "monserveur.email.fr"
port: 25
domain: "monserveur.email.fr"
authentication: :plain

development:
delivery_method: :smtp
smtp_settings:
address: "monserveur.email.fr"
port: 25
domain: "monserveur.email.fr"
authentication: :plain
  • Démarrer le serveur Ruby via la commande suivante :
mongrel_rails start --environment=production
  • Pour tester l'application Redmine, ouvrir un navigateur et saisir l'URL suivante :
http://localhost:3000
Utiliser Apache 2.2 comme Proxy
  • Créer ou mettre à jour le fichier http-proxy.conf situé dans le répertoire apache/conf
  • Saisir le contenu suivant en l'adaptant à votre configuration
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ProxyRequests Off
<proxy>
Order deny,allow
Allow from all
</proxy>

Alias /redmine "D:/tools/redmine/public"
<directory>
Options Indexes FollowSymLinks
AllowOverride none
Order allow,deny
Allow from all
</directory>

ProxyPass /redmine/images !
ProxyPass /redmine/stylesheets !
ProxyPass /redmine/javascripts !
ProxyPass /redmine/ http://127.0.0.1:4000/
ProxyPass /redmine http://127.0.0.1:4000/
ProxyPassReverse /redmine/ http://127.0.0.1:4000/
  • Ajouter à la fin du fichier httpd.conf d'Apache 2.2, l'instruction suivante
Include conf/http-proxy.conf
  • S'assurer que l'instruction suivante est dé-commentée dans le fichier httpd.conf
LoadModule alias_module modules/mod_alias.so
  • Démarrer le serveur Ruby via l'instruction suivante
mongrel_rails start --environment=production -p 4000
  • Vérifier que l'URL http://localhost/redmine fonctionne. Seule la première page s'affiche. Par ailleurs, les images ne s'affichent pas correctement.
  • Arrêter le serveur Ruby
  • Se déplacer à la racine du répertoire Redmine et exécuter la ligne de commande suivante.
ruby script/plugin install http://svn.napcsweb.com/public/reverse_proxy_fix
  • A la question de l'URL, saisir l'URL complète (exemple : http://monserveur/redmine)
  • A la question de la version de Rails, sélectionner la valeur 2.0, 2.1, 2.2
  • Pour installer Redmine comme un service Windows, exécuter l'instruction suivante à partir du répertoire Redmine
mongrel_rails service::install -N Redmine -p 4000 -e production
  • A partir du panneau d'administration de Windows, activer le démarrage automatique du service Redmine de telle sorte que l'application Redmine se lance au démarrage de Windows.