Installer Redmine sur un serveur Debian
Par DarKou le jeudi, mars 25 2010, 07:08 - serveur - Lien permanent
Dans ce billet je vais tenter de vous expliquer la marche à suivre pour installer la forge Redmine sur un serveur tournant sous Debian 5 (Lenny).
Après avoir eu pas mal de mal pour faire tourner la forge je me dit qu'une doc traitant les différents problèmes que j'ai pu rencontrer ne serais pas une mauvaise chose...
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.