Installer un serveur Redmine sur Centos 5.2
Le but de cet article est d’écrire le processus d’installation d’un serveur RedMine sur une Centos 5.2
Description de RedMine
Redmine est un outil de gestion de projet en Web. Il est écrit en utilisant le framework « Ruby on Rails ». Il est multi-plateforme et fonctionne avec plusieurs bases de données.
Redmine est un projet Open Source sous licence GNU General Public License v2 (GPL).
Les fonctionnalités :
- gestion multi-projets
- gestion fine des droits utilisateurs définis par des rôles
- rapports de bugs, demandes d’évolutions
- Wiki multi-projets
- forums multi-projets
- Flux RSS / ATOM
- Notifications par email
- Gestion de feuilles de route, GANTT, calendrier
- Historique
- Intégration avec divers suivis de versions : SVN, CVS, Mercurial, Git, Bazaar & Darcs
- Identification possible via LDAP
- Multilingue (25 langues)
- Support de plusieurs bases de données : MySQL, PostgreSQL ou SQLite
Installation des Prés-requis
Installer Ruby on Rails 2.2.2 sur Centos 5.2
yum install ruby ruby-devel ruby-libs-RDOC irb ruby-mysql ruby-rdocTélécharger et installer Ruby
wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz tar xvf rubygems-1.3.1.tgz cd rubygems-1.3.1 ruby setup.rb
Installer le framework Rails
gem install rails -v=2.2.2
Installer le serveur MySQL
yum install mysql-server
service mysqld startInstaller et configurer Subversion
yum install subversionInstallation de Redmine
cd /usr/local/src wget http://rubyforge.org/frs/download.php/52944/redmine-0.8.2.tar.gz tar -zxvf redmine-0.8.2.tar.gz mv redmine-0.8.2 /opt cd /opt/redmine* adduser redmine chown -R redmine. /opt/redmine
Créer une base de donnée MySQL
mysql -u root create database redmine character set utf8;
Modifier le fichier de configuration de connexion MySQL
cp config/database.yml.example config/database.yml vi config/database.yml
Exemple pour une base MySQL
production: adapter: mysql database: redmine host: localhost username: bduser password: bdpasswd socket:/var/lib/mysql/mysql.sock
Créer la structure de la base de donnée
cd /opt/redmine rake db:migrate RAILS_ENV="production"
Insérer des données de pré-configuration (cette étape est facultative mais fortement recommandée)
rake redmine:load_default_data RAILS_ENV="production"
Modifier les droits de l’utilisateur redmine
mkdir tmp public/plugin_assets chown -R redmine. files log tmp public/plugin_assets chmod -R 755 files log tmp public/plugin_assets
Démarrer le serveur
ruby script/server webrick -e production
Vous pouvez tester que votre serveur fonctionne :
http://ipduserveur:3000
Login et mot de passe par défaut:
Login: admin
Mot de passe: admin
Ajouter les librairies ImageMagick
Cette étape est nécessaire pour la réalisation des diagramme de Gantt
yum install gcc tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype-devel libtiff-devel cd /usr/local/src wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz tar xvfz ImageMagick.tar.gz cd ImageMagick* ./configure make make install [ `grep /usr/local/lib /etc/ld.so.conf | wc -l` -eq 0 ] && echo "/usr/local/lib" >> /etc/ld.so.conf ldconfig gem install rmagick -r --no-ri --no-rdoc
Ajouter la gestion automatique des dépot SVN
Redmine est capable de gérer automatiquement la création de vos dépots SVN; de plus, en fonction du type de projet (public ou privé) les dépots seront accessibles aux membres uniquement.
yum install mod_dav_svn mod_perl perl-Apache-DBI perl-Digest-SHA1 perl-DBD-mysql mkdir /opt/svn chown -R root.apache /opt/svn yum install mod_dav_svn
Récupérer une version plus récente de Redmine.pm
cd /tmp wget http://redmine.rubyforge.org/svn/trunk/extra/svn/Redmine.pm cp Redmine.pm /opt/redmine/extra/svn/ mv Redmine.pm /usr/lib/perl5/vendor_perl/5.8.8/Apache/
Corriger une petit problème sur un des fichers ruby:
vi /opt/redmine/extra/svn/reposman.rb
Ajouter :
require ‘rdoc/ri/ri_paths’
Avant le bloc:
require 'getoptlong' require 'rdoc/usage' require 'soap/wsdlDriver' require 'find' require 'etc'
Editer le fichier /etc/httpd/conf.d/subversion.conf et ajouter à la fin:
DAV svn SVNParentPath /opt/svn SVNListParentPath on
Créer une fichier redmine.conf dans /etc/httpd/conf.d
<Location /svn-private> DAV svn SVNParentPath "/opt/svn" Order deny,allow Deny from all # only allow reading orders <Limit GET PROPFIND OPTIONS REPORT> Allow from 192.168.0.40 </Limit> </Location> PerlLoadModule Apache::Redmine <Location /svn> DAV svn SVNParentPath "/opt/svn" AuthType Basic AuthName redmine Require valid-user PerlAccessHandler Apache::Authn::Redmine::access_handler PerlAuthenHandler Apache::Authn::Redmine::authen_handler ## for mysql RedmineDSN "DBI:mysql:database=redmine;host=localhost" RedmineDbUser "userdb" RedmineDbPass "userpwd" </Location>
Ajouter à la crontab:
*/5 * * * * ruby /opt/redmine/extra/svn/reposman.rb --redmine-host=localhost:3000 --svn-dir=/opt/svn --owner=apache --url=http://IP/svn-private/ --verbose >> /var/log/reposman.log
Tout devrait à présent fonctionner.
L’idéal serait de mettre en place un cluter Mongrel, mais il semble que la gestion des dépots SVN ne fonctionne plus.
Si vous l’utilisez avec Mongrel, n’hésiter pas
Bonjour,
J’ai suivi ce tuto très pratique, merci !
J’ai un souci, tout fonctionne, Redmin arrive bien à afficher le dépôt, mais je n’arrive pas à me connecter sur le SVN. Quand je vais sur http://mondomain.com/svn/mon_projet, j’ai bien un login et un mot de passe à entrer, ce que je fais (avec le compte utilisateur Redmine associé à mon_projet), mais je me fais jeter à chaque fois (auth failed). Savez-vous où je dois chercher ?
Merci de votre aide.
Jérémy
@jchatard
Bonjour,
J’avais eu un problème similaire et en fait la solution était plutot simple puisque par défaut, les comptes n’ont pas accès aux dépots svn
J’ai alors ajouté mon compte au projet et cela à suffit.
Est-ce que par hasard, vous ne seriez pas dans le même cas ?
Tenez moi au courant
Brian