Installer Redmine : l’outil de gestion de projet

installer redmine

L’objectif est d’installer Redmine, l’application de gestion de projets, de tâches, et de travail collaboratif.

Pour installer Redmine sur Debian il faut un serveur Web fonctionnel, capable d’exécuter Ruby et Ruby on Rails, ainsi qu’une base de données.
Voir le guide pour Installer Apache avec PHP, MySql, Ruby et Passenger.

Nous allons installer la dernière version en date, Redmine 2.3.2.

Récupération de l’archive Redmine

On se place dans /opt, on télécharge l’archive de Redmine et on la décompresse

cd /opt
wget http://rubyforge.org/frs/download.php/77023/redmine-2.3.2.tar.gz
tar xzf redmine-2.3.2.tar.gz

Paramétrage de la base de données

On créé d’abord la base de données « redmine » dans MySql.
On créé un utilisateur spécifique « redmine » qui aura tous les droits sur la base. Attention de bien remplacer le mot de passe « my_password ».

mysql -u root -p
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

La base de données est créée, il faut maintenant créer la connexion dans Redmine.

Aller dans /opt/redmine-2.3.2/config et faire une copie de « database.yml.example » pour le renommer en « database.yml ».

cd /opt/redmine-2.3.2/config
cp database.yml.example database.yml

Editer le fichier au niveau de la rubrique « production » et renseigner l’utilisateur et le mot de passe MySql :

production:
adapter: mysql2
database: redmine host: localhost
username: redmine
password: my_password

Installation des Gems spécifiques à Redmine

Aller dans le répertoire de travail de Redmine

cd /opt/redmine-2.3.2

Installer les Gems. On ne créé que l’environnement de production. Donc sans « développement » et « test » :

bundle install --without development test

C’est là que tout se joue.
Si on a un beau message vert à la fin de l’installation : tout roule.

Installation du token pour les cookies

rake generate_secret_token

Création des tables de la base de données

RAILS_ENV=production rake db:migrate

On rempli ensuite les tables avec les données par défaut, en Français.

RAILS_ENV=production REDMINE_LANG=fr rake redmine:load_default_data

Vérification du fonctionnement de Redmine avec Webrick

Premier test rapide pour vérifier que l’installation de Redmine fonctionne, on lance le serveur interne Webrick et on se connecte à notre serveur.

ruby script/rails server webrick -e production

Ensuite on se connecte sur le serveur sur le port 3000 : http://ip_du_serveur:3000.

On se log en admin

login: admin
password: admin

Si Redmine fonctionne correctement on passe à la suite.

Configuration des emails

Il n’y a pas de configuration de mail par défaut. Il faut la créer.
La configuration se fait dans le fichier /opt/redmine-2.3.2/config/configuration.yml.

Ce fichier n’existe pas par défaut.
Il y a un fichier d’exemple configuration.yml.example que l’on peut copier mais d’autre paramètres seront activés.
Ne sachant pas les conséquences, on créé le fichier configuration.yml vide :

touch /opt/redmine-2.3.2/config/configuration.yml

les emails seront envoyés par le serveur local. Il faut donc une configuration smtp. Il n’y a pas d’authentification sur ce serveur.
On édite le fichier et on ajoute les lignes :

production:
    delivery_method: :async_smtp

la syntaxe est très précise.
Les instructions doivent être séparées par des “double espaces” et pas par des “tab”

Dans notre cas on utilise la méthode « async_smtp » qui permet de ne pas attendre que le mail soit envoyé pour changer de page.

S’il y a un problème de compatibilité avec le serveur, on peut revenir à la méthode smtp classique. On aura alors dans le fichier :

production:
    delivery_method: :smtp

Installer Redmine dans le répertoire de travail d’Apache

On va maintenant permettre à Apache d’exécuter Redmine via Passenger.

Le dossier de « travail » de redmine est le dossier « public » : /opt/redmine-2.3.2/public.
On ne déplace pas ce dossier, on fait un lien symbolique vers le dossier documentroot d’Apache /var/www que l’on nomme redmine.

ln -s /opt/redmine-2.3.2/public/ /var/www/redmine

C’est l’utilisateur « www-data » d’Apache qui va utiliser redmine.
On change le propriétaire du dossier redmine en entier.

cd /opt
chown -R www-data:www-data redmine-2.3.2

On doit maintenant déclarer un nouveau site à Apache pour qu’il puisse l’exécuter.
Pour cela on créé un nouveau fichier redmine dans /etc/apache2/sites-available pour déclarer le site.

touch /etc/apache2/sites-available/redmine

Dans ce fichier on indique à Apache les paramètres spécifiques de ce site.
Sur notre serveur on travail en « dossiers ». C’est à dire que toutes les applications sont disponibles sur ce genre d’URLs :

http://ip_du_serveur/redmine
http://ip_du_serveur/wordpress
http://ip_du_serveur/carnet_adresse
etc…

On va donc installer redmine dans le dossier /redmine du documentroot.

<Location /redmine>
 RailsEnv production
 RackBaseURI /redmine
 Options -MultiViews
</Location>

<Location /redmine> indique le répertoire du site par rapport au documentroot.
RackBaseURI /redmine indique l’url finale. Donc http://ip_du_serveur/redmine.

On active le site :

a2ensite redmine

On restart Apache :

service apache2 restart

Exemple de vhost classique pour une installation en sous-domaine par exemple :

<VirtualHost *:80>
 ServerName www.yourhost.com
 # !!! Be sure to point DocumentRoot to 'public'!
 DocumentRoot /somewhere/public
 <Directory /somewhere/public>
 # This relaxes Apache security settings.
 AllowOverride all
 # MultiViews must be turned off.
 Options -MultiViews
 </Directory>
</VirtualHost>

Réglages de Redmine

Dans Redmine > Administration > Informations on voit si 4 paramétrages de base sont corrects. Dont « Répertoire public des plugins accessible en écriture ».

Le répertoire en question n’existe pas par défaut.

Il s’agit de /opt/redmine-2.3.2/public/plugin_assets.
On créé le dossier et on lui donne comme propriétaire/groupe www-data.

mkdir -p /opt/redmine-2.3.2/public/plugin_assets
chown -R www-data:www-data /opt/redmine-2.3.2/public/plugin_assets/

Installation d’un plugin

Pour installer un plugin Redmine, aller dans le répertoire /opt/redmine-2.3.2/plugins

Télécharger le plugin et le décompresser.

S’il faut mettre à jour la base de données, lancer la commande

rake redmine:plugins:migrate RAILS_ENV=production

Et surtout, il faut relancer Apache ensuite

service apache2 restart

Sauvegarder Redmine

2 choses à sauvegarder :

La base de données Redmine
Les fichiers stockés dans le répertoire « files » à la racine du dossier Redmine : /opt/redmine-2.3.2/files

Exemple de script Bash :

# Base de données
/usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz

# Fichiers
rsync -a /path/to/redmine/files /path/to/backup/files

Voilà, l’installation de Redmine sur Debian est terminée. Loguez-vous sur http://ip_du_serveur/redmine en vous loguant avec admin/admin et personnalisez les différentes options.

23 commentairesLaisser un commentaire

  • Bonjour,

    Merci tout d’abord pour cet excellent tuto.

    Cependant j’ai rencontré un pb à la fin…

    J’ai suivi les instructions jusqu’au test avec webrick et je me suis connecté avec succès à ip_du_serveur:3000

    J’ai continué à suivre les instructions mais je n’ai pas eu accès à ip_du_serveur/redmine

    J’ai ensuite repris la procédure et fait un lien virtuel vers un host installé /home/mondomaine/public_html/redmine
    J’ai une erreur 403. j’ai essayé de changer le propriétaire de /opt/redmine-2.5.1/ en mettant le même que sur mondomaine mais c’est pareil…

    Quelque chose m’échappe dans le paramétrage des virtual hosts. C’est un VPS sous une distribution Debian 7.5 neuve, Apache/2.2.22, avec webmin/virtualmin. Cela peut-il jouer ?

    D’avance merci de me donner une piste le cas échéant.
    Gil

  • Salut Gil,

    Erreur 403 signifie « accès interdit », donc une histoire de droit je pense.

    Vérifie d’avoir bien exécuté ces commandes :
    cd /opt
    chown -R www-data:www-data redmine-2.3.2

    Mais attention. le répertoire Redmine doit avoir le même propriétaire et groupe que celui qui fait tourner Apache.
    Sur une Debian, sauf cas bizarre, c’est l’utilisateur « www-data » et pas autre chose.

    Réessaye de faire cela et si ça ne va toujours pas : colle moi la conf de ton virtualhost apache + un « ls -lah » du dossier qui contient le lien vers ton dossier redmine : /home/mondomaine/public_html/ je pense.

    A+

  • Pol,

    Merci de ta réponse.

    J’ai fais la manip et c’est pareil…

    Voici le résultat de ls -la de /home/mondomaine/public_html

    -rw-r–r– 1 root root 6 juin 23 16:56 index.html
    lrwxrwxrwx 1 www-data www-data 26 juin 24 14:59 redmine -> /opt/redmine-2.5.1/public/

    Concernant le virtualhost apache c’est le fichier /etc/apache2/sites-available/mondomaine.net.conf ?

    a+
    Gil

  • Il y a peut être une allergie avec le dossier « /home ».
    Déplace ton alias redmine dans /var/www pour voir

  • J’ai repris plus haut pour mettre redmine dans /var/www mais je n’arrive pas à aller dans sites-available !

    drwxr-xr-x 2 root root 4096 juin 23 16:44 sites-available
    drwxr-xr-x 2 root root 4096 juin 24 14:57 sites-enabled
    drwxr-xr-x 2 root root 4096 juin 23 12:09 suexec
    root@vps00000:/etc/apache2# cd /sites-available
    -bash: cd: /sites-available: Aucun fichier ou dossier de ce type

    Pas glop.
    Je crois que je vais tout réinstaller…

  • Pardon j’ai été un peu vite… sans le / c’est mieux…

    Donc j’ai été jusqu’au redémarage d’apache et ce n’est pas bon. une erreur 404.
    J’en ai une aussi en mettant simplement l’IP. ce ne doit pas être normal.
    Merci de ton aide.
    Gil

  • Salut Gil,

    Désolé mais ce de moins en moins clair 🙂
    Je installé redmine sur mon vps en root, de cette façon et aucun soucis (sinon je ne l’aurait pas écrit :p).
    Je pense que tu devrais tout virer et tout recommencer depuis le début en faisant attention à plusieurs points :

    – toute l’installation de redmine doit se faire en root ne serait-ce que pour modifier Apache
    – redmine ou du moins son alias doit être dans le répertoire /var/www et pas ailleurs
    – Avant de partir dans l’installation de Redmine : assure-toi que Apache et mysql fonctionnent correctement. J’ai fais des tutos là dessus aussi pour configurer apache avec passenger

    Voilà. Une fois que tu es sûr que ton Apache fonctionne bien : là lance toi dans Redmine. Pas avant.

    Courage.

  • Ce tuto est un must-have, il va direct dans mes favoris. J’ai tout suivi à la lettre en adaptant légèrement du fait de ma version de Redmine, et c’est passé sans aucun problème.

    Merci beaucoup !

  • Salut,

    Tout d’abord merci pour ton tuto, ca fait toujours plaisir de voir et de lire des gens qui partagent leurs connaissances.

    J’ai suivi ton tuto et les differences de version avec aujourd’hui font que j’ai une erreur a ce niveau :

    rake generate_secret_token
    rake aborted!
    Gem::LoadError: You have already activated rake 10.3.2, but your Gemfile requires rake 10.1.1. Prepending `bundle exec` to your command may solve this.
    /var/lib/gems/1.9.1/gems/bundler-1.7.3/lib/bundler/runtime.rb:34:in `block in setup’
    /var/lib/gems/1.9.1/gems/bundler-1.7.3/lib/bundler/runtime.rb:19:in `setup’
    /var/lib/gems/1.9.1/gems/bundler-1.7.3/lib/bundler.rb:121:in `setup’
    /var/lib/gems/1.9.1/gems/bundler-1.7.3/lib/bundler/setup.rb:7:in `’
    /opt/redmine-2.5.2/config/boot.rb:6:in `’
    /opt/redmine-2.5.2/config/application.rb:1:in `’
    /opt/redmine-2.5.2/Rakefile:5:in `’
    (See full trace by running task with –trace)

    Pourrais tu m’aider stp ?

  • Salut Romain.

    Ta version de Rake 10.3.2 pose problème avec la version requise 10.1.1.
    Essayes de taper la place la commande « bundle exec rake generate_secret_token » au lieu de « rake generate_secret_token ».

    A+

  • Bonjour,

    Merci pour le tuto et merci d’avance pour la réponse.

    Blocage au niveau de ‘token’

    $: sudo bundle exec rake generate_secret_token
    The source :rubygems is deprecated because HTTP requests are insecure.
    Please change your source to ‘https://rubygems.org’ if possible, or ‘http://rubygems.org’ if not.
    /var/lib/gems/1.9.1/gems/bundler-1.7.3/lib/bundler/rubygems_integration.rb:256:in `gem’: rake is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
    from /usr/local/bin/rake:22

    R.Luc

  • bonsoir Luc,

    Là je ne connais pas trop mais c’est une histoire de https vs http.
    Pour faire simple essaye d’installer bundler version 1.8.23 pour voir.
    C’est la version que j’ai et pas de soucis :

    gem install bundler –version ‘=1.8.23’

    A+

  • Merci pour le tuto,

    j’ai un bug en exécutant la commande : rake generate_secret_token :

    `x64_mingw` is not a valid platform. The available options are: [:ruby, :ruby_18, :ruby_19, :mri, :mri_18, :mri_19, :rbx, :jruby, :mswin, :mingw, :mingw_18, :mingw_19]

    Je suis sur Debian
    bundler –version => version 1.8.3

    Merci d’avance pour la réponse.

  • Bonjour,

    J’ai lancé le Webrick et j’arrive accèder à Redmine sur l’adresse :

    http://monIP:3000

    Par contre, je dois avoir un problème dans la config de Apapche, car, en suivant ton tuto, lorsque je fais:

    http://monIP/redmine
    j’obtiens ce message d’erreur:

    http://www.redmine.org/attachments/download/14137/redmine1.png

    et lorsque je fais http://monip , j’obiens cela:
    http://www.redmine.org/attachments/download/14138/redmine2.png

    Saurais-tu à quel moment j’ai manqué quelque chose.

    Pour info : redmine 3.1.0 / debian 8 / ruby 2.1.5p273 / Apache/2.4.10 / Rails 4.2.3

    En te remerciant par avance pour ton aide.

  • salut Max,

    Je pense que le problème vient de la version d’Apache.
    J’ai écris ce tuto redmine sur une base de Debian 7 et donc Apache 2.2.
    Toi tu as une Debian 8 et donc Apache 2.4.

    Partant de là, je pense bien que les configurations des vhost sont différentes entre les 2 versions et tu ne peux pas appliquer ce que j’ai indiqué.

    Regarde comment chaque instruction du vhost en 2.2 se transforme en 2.4 et tu devrais être bon.

    A+

  • Bonjour Pol,

    Merci pour ton retour.
    Comme je l’ai précisé dans mon message précedent, la version de Apache est effectivement 2.4.

    Je viens de regarder des tutos sur configuration vhosts apache 2.4

    mais pour l’instant c’est pas mieux.

    SI j’arrive à trouver la solution, je me permettrai de la poster ici pour ceux qui installe sur debian 8 avec apache 2 en version 2.4.

    et inversement, si qqun à la solution, n’hésitez pas pas à poster.

    merci bcp

  • Re,

    J’ai un peu de mieux.
    J’arrive sur
    http:// monIP
    a afficher Redmine, et sur http/monIP/redmine, j’ai la page d’erreur de redmine 404.

    Voici actuellement le contenu du fichier vhost de apache 2 v2.4

    ServerName domain.com
    DocumentRoot /opt/redmine-3.1.0/public
    # DocumentRoot /var/www/redmine
    # ErrorLog logs/redmine_error_log

    Alias /redmine /opt/redmine-3.1.0/public

    # Alias /redmine /var/www/redmine
    #
    Options -Indexes +FollowSymlinks +MultiViews
    AllowOverride all
    Require all granted

    # ErrorLog ${APACHE_LOG_DIR}/error.log
    # CustomLog ${APACHE_LOG_DIR}/access.log combined

    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet

    Si quelqu’un à une idée pour y accèder depuis http://monip/redmine
    et faire en sorte que j’utilise symlink au lieu de path dossier source…

    Merci d’avance pour aide.
    cdlt

  • Excellent tuto, (presque) rien à redire :p

    Pour l’activation du site, a2ensite est un script perl qui attend un site qui fini par « .conf » donc il est nécessaire de faire un touch /etc/apache2/sites-available/redmine.conf

    Mise à part ça, un grand bravo pour un tuto de qualité !

  • Bonsoir Régis,

    Merci pour votre commentaire.
    Par contre je ne suis pas tout à fait d’accord. le « .conf » n’est pas obligatoire avec Apache 2.2 mais Apache 2.4.
    Et comme ce tuto a été fait à partir d’Apache 2.2 il n’y a pas de problème 🙂

  • Bonjour,

    Super tuto merci !

    J’ai juste un petit soucis au niveau des e-mails.

    J’ai testé les deux configurations possibles :

    production:
    delivery_method: :async_smtp

    production:
    delivery_method: :smtp

    Dans :

    « /opt/redmine-2.3.2/config/configuration.yml »

    Quand je fais un test d’envoi dans l’interface de redmine j’ai un message comme quoi l’e-mail a bien été envoyé mais je ne reçois rien, j’ai vérifié mes courriers indésirables.

    Avez-vous une idée ?

    Ma question est également, faut-il configurer un serveur smtp ?

    J’ai installé postfix mais je ne sais pas trop comment configurer et le problème reste le même.

    Je vous remercie pour votre aide.

    Cordialement !

  • Bonjour Quentin,

    Ne vous fiez pas au message que peut vous retourner redmine.
    Si vous voulez vraiment savoir ce qu’il se passe sur les mails, consultez votre fichier de log dans /var/log/mail.log.

    Ensuite essayez plutôt avec « :sendmail » ou « :async_sendmail ».
    Ces deux méthodes là s’adressent directement au serveur mail de votre machine quand les méthodes « :smtp » doivent se connecter à un autre serveur mail.
    A ce moment là il vous suffit de configurer votre postfix pour qu’il envoi les mails.

    Bon courage

Vous avez aimé cet article ? Réagissez !

Votre email ne sera pas publié. Les champs requis sont marqués d'une astérisque *