Ce mémo a été publié le 27 septembre 2015 et peut contenir des informations qui peuvent être incomplètes, non mises à jour voir erronées du fait de son ancienneté. N'hésitez pas à compléter votre recherche sur des articles plus récents.

Introduction

Le besoin est simple : avoir un serveur Redmine pour la gestion de projets.

Ce tuto doit vous permettre de créer une machine virtuelle avec un serveur accessible via une url (ex : http://redmine.jbnet.lan) dans votre réseau local.
Il ne couvre pas les aspects de la gestion de projets uniquement sa mise en place technique.

Ce tuto fait parti d’un ensemble qui conduit à créer une infrastructure de serveurs web avec différents rôles : “[Tuto – Infrastructure Web – Debian 8] – Présentation et objectifs”.
Vous devez avoir préparé et cloné la machine gabarit pour continuer.
Voir “[Tuto – Infrastructure Web – Debian 8] – La machine gabarit” puis “[Tuto – Infrastructure Web – Debian 8] – Cloner et préparer la machine gabarit“ et enfin soit le tuto sur un serveur LAMP (genre All In One), soit celui décrivant l’installation d’un serveur web dans une infrastructure.

Vous devez avoir des connaissances sur l’utilisation de Linux via une connexion SSH ainsi qu’une certaine aisance avec les commandes d’un shell Linux.

Comptez env. 1h30 de configuration en partant d’une VM fraichement clonée et paramétrée sur votre réseau.
… là encore, je suis large !

Modifications et mises à jour du document

26/09/2015 : Création initiale

Avertissement

Cette machine est construite pour vous permettre de créer un serveur sur un réseau local.

Il ne faut en aucun cas lui donner un accès public à partir d’internet.

Par conséquent, vous êtes seul responsable si vous vous contentez de suivre ce tutoriel pour une mise en ligne d’un serveur web sur internet avec un accès public.

Vous voilà averti, passons aux choses sérieuses.

La machine virtuelle

Avant de démarrer votre nouvelle VM qui va accueillir Redmine, vérifiez que vous avez au moins configuré 1Go de mémoire.
Si vous avez utilisé un serveur LAMP, c’est à dire avec MySQL, comptez plutôt 2Go de mémoire pour être à l’aise.

La configuration web qui suit est adaptée à un serveur sous Debian 8 Jessie avec Apache ITK et PHP5-FPM.

Création du site web

Dans l’exemple, je vais créer un site web http://redmine.jbnet.lan qui sera le point d’entrée de mon serveur Redmine.
Le site sera hébergé dans le répertoire /home/jbnet-user/redmine.

Je positionne des variables avec les paramètres du site :

La création d’un hébergement avec la machine gabarit possédant le rôle de serveur web est décrite dans le paragraphe “Créer un hébergement web” du chapitre “[Tuto – Infrastructure Web – Debian 8] – Un serveur LAMP“.
Le serveur possède l’adresse IP : 192.168.8.155

Pour faire vite, voici les commandes à copier/coller dans votre terminal avec une connexion ssh sur le serveur web.

Configuration Apache2 :

Configuration PHP5-FPM :

Et pour finir, on modifie le propriétaire des fichiers et on redémarre les services apache2 et php5-fpm :

A partir de là, si vous avez créer une VM autonome (voir « [Tuto – Infrastructure Web – Debian 8] – Un serveur LAMP« ), vous devez ajouter l’adresse ip de cette dernière et l’url redmine.jbnet.lan dans votre fichier hosts pour y avoir accès.

Si vous avez créer une infrastructure web avec un serveur proxy et nginx en mode reverse proxy, vous devez créer la configuration nginx.
Sur le serveur proxy, créez le fichier /etc/nginx/sites-available/redmine.jbnet.lan.
Adaptez les paramètres en fonction de votre configuration.

Puis créez un lien symbolique dans le répertoire /etc/nginx/sites-enabled :

Relancez nginx pour la prise en compte :

Dans votre fichier hosts, il faut ajouter l’ip du proxy associé à l’url du site redmine.jbnet.lan.
Testez en utilisant l’url « http://redmine.jbnet.lan/phpinfo.php » dans votre navigateur.

Notez qu’il faudra modifier légèrement le fichier apache.conf un peu plus tard.

Ruby

Au moment de la rédaction de ce tuto, c’est Redmine 3.1.1 qui est disponible.
Selon les indications sur cette page, il faut installer Rails 4.2.

Exécutez ces commandes pour installer Ruby :

L’installation prend quelques minutes, soyez patient.

Résultat :

Installez les paquets requis pour ImageMagick avant d’aller plus loin :

Si vous utilisez MySQL :

Si comme moi vous avez utilisé Percona au lieu de MySQL :

Suivi de :

Redmine

Téléchargez Redmine à partir de votre VM.
Au moment de la rédaction de ce tuto, c’est Redmine 3.1.1 qui est disponible.
Adaptez l’URL suivante en fonction :

Décompressez l’archive et déplacez le contenu du répertoire redmine-3.1.1 dans le répertoire /home/jbnet-user/redmine/html/ :

La commande « shopt » permet de prendre en compte les fichiers cachés commençant par un point lors de l’utilisation de la commande mv.

N’oubliez pas que vous êtes sous root et que vous devez donner les droits à votre utilisateur qui exécute Apache ITK.

Redmine contient des fichiers qui ne doivent pas être accessible directement via une url.
Il faut modifiez la configuration d’Apache pour lui indiquer que ce sont les fichiers du répertoire public qui doivent être utilisés.
Éditez le fichier /home/${myuser}/${mywebsite}/conf/apache.conf.
Ajoutez le répertoire public aux variables DocumentRoot et Directory :

et

Redémarrez Apache pour prendre en compte les modifications :

Il faut ensuite créer une base de données (via phpMyAdmin ou autre).
Voici les paramètres que j’utilise dans mon exemple :

  • Base de données : redmine-adm
  • Utilisateur : redmine-adm
  • Mot de passe : test1234
  • Serveur : 192.168.8.100 (ou localhost si le serveur MySQL est installé sur la même machine)

Dans le répertoire /home/${myuser}/${mywebsite}/html/config, créez une copie du fichier database.yml.example :

Modifiez le fichier database.yml avec les paramètres d’accès à la base de données.
Adaptez en fonction de votre configuration.

Installez les bundles manquants :

Résultat :

Toujours dans le répertoire /home/${myuser}/${mywebsite}/html/config, exécutez cette commande :

Puis initialisez la base de données :

Relancez Apache :

Dans votre navigateur, tapez l’URL d’accès à votre serveur Redmine pour afficher la page d’accueil.
Dans mon cas : http://redmine.jbnet.lan

Redmine - Mozilla Firefox_007

Paramètres de connexion par défaut :

  • Utilisateur : admin
  • Mot de passe : admin

Vérifiez que l’installation est correcte.
Allez dans « Administration > Informations » :

Informations - Redmine - Mozilla Firefox_008

Et comme on dit : « YaPluKa ! »
Bonne gestion de projets avec Redmine !

Bonus

Quelques thèmes très sympa trouvé sur GitHub :