
Redmine est un gestionnaire de projets très simple visuellement, et utilisant Ajax. Il permet de faire un suivi de plusieurs projets (Gantt, Bugtraq, Roadmap, Wiki, Forum, etc... le tout pour chaque projet).
Il peut fonctionner avec CVS, SVN, Mercurial, Git, et bien d'autres contrôleurs de versions.
Puissant, il peut lier un ticket d'assistance avec un commit.
Redmine utilise cependant Ruby On Rails (RoR) et son serveur spécifique (tel que Mongrel). Si on désire faire tourner Redmine avec Apache, il faut un peu mettre les mains dans le camboui.
La technique proposée ici n'utilise ni proxy, ou autre bidouille.
Cette page explique les grandes lignes de l'installation, à vous de remplir les trous.
Voici donc comment faire pour installer Redmine sur votre Debian, et ce très simplement et rapidement.
Tout d'abord il faut vérifier la version nécessaire de Ruby et de Rails pour la version de Redmine que vous désirez installer. Cette information est disponible ici :
http://www.redmine.org/wiki/redmine/RedmineInstall
Il faut ensuite configurer votre Debian pour utiliser backports.org, expliqué ici, en n'oubliant pas :
aptitude install debian-backports-keyring
aptitude -t lenny-backports install rubygems1.9 ruby rake libmysql-ruby librmagick-ruby <et d'autres si besoin>
Et d'autres commandes utiles :
adduser --home /opt/redmine --disabled-login redmine
su - redmine
gem install rails -v 2.3.4 <= ici la version nécessaire par Redmine, écrit sur la page "RedmineInstall"
gem install mysql
gem install rmagick
Penser à passer en production :
gem update --system
rake db:migrate RAILS_ENV="production"
rake redmine:load_default_data RAILS_ENV="production"
Ensuite, il suffit de télécharger redmine, puis de le décompresser (dans cet exemple on a utilise "redmineuser.www-data").
Il suffit ensuite de créer un utilisateur et une base de données MySQL pour Redmine, puis éditer config/database.yml au champ production :
vim config/database.yml
production:
adapter: mysql
database: redmine
host: localhost
username: utilisteursqlredmine
password: motdepasseassocie
socket: /var/run/mysqld/mysqld.sock
On peut tester le bon fonctionnement de Redmine :
# ruby script/server -e production
Le serveur est alors disponible à l'adresse : http://ip:3000 , avec comme nom d'utilisateur admin et mot de passe admin.
Contrairement à d'autres, qui utilisent un reverse proxy pour intégrer Redmine à Apache, il suffit tout simplement d'installer passenger :
gem install passenger
Puis il faut lancer la dernière commande qui va bien :
passenger-install-apache2-module
Il est tout de même conseillé de vérifier passenger.load et passenger.conf dans /etc/apache2/mods-available avant de faire un :
a2enmod passenger
Maintenant, il suffit d'utiliser un simple VirtualHost, ici avec un exemple d'accès par .htaccess si on veux interdire tout accès extérieur sans mot de passe valide, tout en permettant une autorisation pour le reseau local :
<VirtualHost *:80>
ServerAdmin mon@mail.fr
ServerName redmine.mondomaine.fr
DocumentRoot /home/redmineuser/redmine-0.8.7/public
<Directory /home/redmineuser/redmine-0.8.7/public>
AllowOverride all
Options -MultiViews
Order deny,allow
Deny from all
AuthName "redmine.mondomaine.fr :: auth"
AuthUserFile /chemin/vers/.htpasswd
AuthType Basic
Require valid-user
Allow from 192.168.0.0/24 mondns.tld
Satisfy Any
</Directory>
</VirtualHost>
Il vous rester à configurer Redmine, pour le faire fonctionner avec GIT par exemple.
Ceci se passe par l'interface web de Redmine. Créez un projet, puis cliquez sur Configuration > Dépôt > SCM Git > Path to .git directory /home/git/repositories/votreprojet.git .
Note : Il faut permettre à l'utilisateur redmine d'accéder aux données enregistrées par le groupe git :
# usermod -G git redmineuser