Redmine est une application web Open Source de gestion complète de projet en mode web, développé en Ruby sur la base du framework Ruby on Rails.
Principales fonctionnalités :
- gestion multi-projets,
- gestion fine des droits utilisateurs définis par des rôles,
- gestion de groupes d’utilisateurs,
- rapports de bogues (bugs), demandes d’évolutions,
- Wiki multi-projets,
- forums multi-projets
On va voir comment installer redmine sur une machine linux de type debian
(source : wikipedia)
Installation de ruby (1.8) et rails :
On se connecte en root
su -
On installe ruby 1.8
apt-get install build-essential ruby1.8-dev libopenssl-ruby1.8
On installe rubygems (1.3.7)
wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz tar xzvf rubygems-1.3.7.tgz cd rubygems-1.3.7 ruby1.8 setup.rb cd
On installe rack (1.0.1) et rails (2.3.5)
gem1.8 install rack -v=1.0.1 gem1.8 install rails -v=2.3.5
On installe mysql depuis les backports
apt-get -t lenny-backports install mysql-server mysql-client libmysql-ruby libmysqlclient-dev #Je vous conseil de mettre un mot de passe root pour mysql
On installe mysql pour gem
gem1.8 install mysql
Installation de Redmine
On clone redmine depuis le dépôt github
git clone https://github.com/edavis10/redmine.git && cd redmine
Création de l’utilisateur redmine
addgroup redmine adduser redmine --no-create-home --ingroup redmine # Je vous conseil de mettre un mot de passe pour l'utilisateur redmine
Création de la base mysql pour Redmine
mysql -u root -p # On rentre le mot de passe root de mysql
#Création de la base redmine CREATE DATABASE redmine DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; # Ajout de privilège pour l`'utilisateur redmine sur la base redemine # il faut penser a changer le mot de passe (password) GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; exit
On règle les paramètres de connexion à la base de donnée redmine
cp config/database.yml.example config/database.yml
Il faut éditer le fichier : config/database.yml
Attention a bien respecter les 2 espaces (et non des tabulations) pour toutes les lignes (sauf la première)
production: adapter: mysql socket: /var/run/mysqld/mysqld.sock database: redmine host: localhost username: redmine password: password encoding: utf8
# On finit d’installer redmine :
rake generate_session_store RAILS_ENV=production rake db:migrate RAILS_ENV=production rake redmine:load_default_data # il faut choisir une langue, "fr" ira très bien
On deplace le fichier d’installation :
cd && mv redmine /opt/
On nettoie le fichier home :
rm -rf rubygems*
On fixe les droits :
chown -R redmine:redmine /opt/redmine chmod -R 700 /opt/redmine/ chmod -R 755 /opt/redmine/files /opt/redmine/log /opt/redmine/tmp /opt/redmine/public/plugin_assets
Servir redmine par apache
Installation de Mongrel
apt-get install mongrel
ServerName redmine.HOST
ProxyPreserveHost Off
ProxyPass / http://127.0.0.1:3000/
ProxypassReverse / http://127.0.0.1:3000/
# On définit les fichiers de log
ErrorLog /opt/redmine/log/apache-error.log
CustomLog /opt/redmine/log/apache-access.log combined
Il faut editer editer /etc/init.d/redmine
#!/bin/sh
set -e
REDMINE_PATH=/opt/redmine/
REDMINE_PID=/tmp/mongrel.pid
REDMINE_PORT=3000
if [ -x /usr/bin/mongrel_rails ] ; then
HAVE_MONGREL=1
else
echo "Mongrel not installed."
exit 0
fi
. /lib/lsb/init-functions
case "$1" in
start)
log_action_begin_msg "Starting Redmine server"
mongrel_rails start -c $REDMINE_PATH -d -e production -p $REDMINE_PORT -P $REDMINE_PID
log_action_end_msg $?
;;
stop)
log_action_begin_msg "Stopping Redmine server"
mongrel_rails stop -c $REDMINE_PATH -P $REDMINE_PID
log_action_end_msg $?
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/redmine {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0On donne les droits d’exécution au fichier
chmod +x /etc/init.d/redmine
On ajoute redmine au démarrage du système
update-rc.d redmine defaults
Et enfin on démarre redmine
/etc/init.d/redmine start
Apache en mod proxy
On installe le mod proxy d’apache
a2enmod proxy a2enmod proxy_http
Il faut modifier les droits pour ne pas prendre une 403 dans la gueule
cp /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-available/proxy.conf.save sed -e 's/Order deny,allow/Order allow,deny/' /etc/apache2/mods-available/proxy.conf.save | sed -e 's/Deny from all/Allow from all/' > /etc/apache2/mods-available/proxy.conf
Il faut editer le fichier /etc/apache2/site-availables/redmine pour créer un vhost
<VirtualHost *:80> #Mettre le nom de votre machine a la place de HOST: ServerName redmine.HOST ServerAlias *.redmine.HOST ProxyPreserveHost Off ProxyPass / http://127.0.0.1:3000/ ProxypassReverse / http://127.0.0.1:3000/ # On définit les fichiers de log ErrorLog /opt/redmine/log/apache-error.log CustomLog /opt/redmine/log/apache-access.log combined </VirtualHost>
Si vous vous installez redmine sur une autre machine que la votre, je vous conseil de mettre a jour votre fichier hosts pour qu’il pointe automatiquement sur la machine serveur.
admin / admin
On ajoute les fichiers de log
touch /opt/redmine/log/apache-error.log touch /opt/redmine/log/apache-access.log chown www-data:www-data /opt/redmine/log/apache-error.log chown www-data:www-data /opt/redmine/log/apache-access.log
On active le site
a2ensite redmine
Et enfin on peut redémarrer apache
/etc/init.d/apache2 restart
Fin et conclusion :
Vous pouvez vous connecter à redmine grace à l’url http://redmine.HOST
Le compte et le mot de passe administrateur est admin et admin
Bien sur, redmine peut être configurer de bien d’autre façon, j’ai décris ici la méthode que j’utilise pour mes propres projets. vous pouvez voire d’autre exemple de configuration sur la doc d’ubuntu-fr qui m’a servit de support pour rédiger ce tutoriel.
Articles en rapport:
