Avant d'attaquer le vif du sujet une rapide présentation de Redmine.
Redmine est une application de gestion de projet, OpenSource et écrit en Ruby. Il propose le multi langue et peut être greffé d'un grand nombre de plugins.
Dans cette installation nous n'allons pas utiliser les paquets Debian mais directement prendre la version à jours depuis les serveurs de Redmine. à l'heure ou j'écris ces lignes la version à jours est là 0.9.3.

Prérequis

Avant d'installer Redmine en lui même nous devons installer d'autres paquets. Il nous faudra, entre autre, apache, mysql et ruby.

root# apt-get install mysql-server subversion apache2 apache2-mpm-prefork apachetop libapache2-svn libapache-dbi-perl libapache2-mod-perl2 libdbd-mysql-perl libdigest-sha1-perl ruby ruby-dev rubygems apache2-prefork-dev libopenssl-ruby build-essential

Lors de l'installation de mysql un mot de passe pour le compte root vous sera demandé, si ce n'est pas le cas vous pouvez le recréer avec cette étape :

root# mysql_install_db

Nous devons ensuite créer une base et un compte utilisateur pour Redmine :

root# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 64
Server version: 5.0.51a-24+lenny3 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE redmine CHARACTER SET UTF8;
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO mysql.user (Host,User,Password) VALUES('localhost','redmine',PASSWORD('redmine-password'));
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine';
Query OK, 0 row affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 row affected (0.00 sec)

mysql> QUIT;
Bye

Cette première étape faite nous pouvons passer à la partie ruby de notre installation. Nous allons devoir installer Rails et Passenger. Mais avant nous devons mettre à jours rubygems et installer une version plus récente de rails.

root# gem install rubygems-update
root# update_rubygems
root# gem install rails -v=2.3.5
root# gem install mysql
root# gem install passenger

On édite notre .zshrc (ou .bashrc) pour prendre en compte les nouveaux exécutables propre à gems)

root# echo "PATH=$PATH:/var/lib/gems/1.8/bin" >> ~/.zshrc
root# source ~/.zshrc # ou .bashrc



Installation de Redmine

On récupère la dernière version depuis les dépôts officiels.

root# cd /opt
root# svn co http://redmine.rubyforge.org/svn/tags/0.9.3 redmine
root# chown www-data:www-data -R redmine

On peut passer à la configuration de Redmine :

root# cd redmine
root# cp config/database.yml.example config/database.yml
root# vim config/database.yml
production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: redmine-password
  encoding: utf8

On peut aussi remplir les sections développement et test (penser à créer les bases relatives à ces 2 modes).
Il faut également éditer le fichier config/environment.rb pour ajouter la ligne suivante :

root# vim config/environment.rb
  # a ajouter avant le end final
  # Le mot de passe doit faire au minimum 30 caractères.
  config.action_controller.session = { :key => "_myapp_session", :secret => "some secret phrase" }

On peut maintenant remplir la base avec les tables associées à Redmine :

root# rake db:migrate RAILS_ENV="production" 

Redmine est désormais installé, nous pouvons passer à la configuration d'Apache

Configuration d'Apache

Dans un premier temps il faut générer le module :

root# passenger-install-apache2-module

Maintenant on va créer les fichiers passenger.load et passenger.conf pour Apache :
Passenger.load :

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so

Passenger.conf :

PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/
PassengerRuby /usr/bin/ruby1.8
PassengerMaxPoolSize 1

Activation du module :

root# a2enmod passenger
Run '/etc/init.d/apache2 restart' to activate new configuration!
root# a2enmod rewrite (si ce n'est pas déjà fait)
Run '/etc/init.d/apache2 restart' to activate new configuration!

Maintenant nous devons créer un site qui affichera notre forge :

root# vim /etc/apache2/sites-available/000-redmine
/
NameVirtualHost *:80
<VirtualHost *:80>
    ServerName redmine.dev
    DocumentRoot /opt/redmine/public
</VirtualHost>

On active le site et l'on redémarre apache :

root# a2ensite 000-redmine
root# /etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting .



Conclusion

Votre installation est désormais active.
J'espère que ce document pourra vous aider à installer Redmine sans difficultés.