Introduction

Redmine est un outil de gestion de projet Open Source très populaire dans le monde du développement informatique.

Plus de dix ans après sa sortie (2006), sa popularité est telle qu'il est aujourd'hui disponible dans 34 langues et dispose de milliers d'utilisateurs dans le monde entier.

La dernière mise à jour importante réalisée pour les dix ans de Redmine en 2006 a apporté plus de 100 nouveautés

Fonctionnement de Redmine

Redmine est un logiciel de gestion de projet en ligne Open Source (libre). Son utilisation est donc gratuite, mais il revient à l'utilisateur d'héberger et d'installer redmine sur un serveur (apache par exemple) pour qu'il puisse être accessible par tous les membres d'une équipe projet.

Redmine offre les fonctionnalités suivantes :

  • Multi-projets : il est possible de créer plusieurs projets en parallèle et de les gérer de manière indépendante
  • Contrôle flexible des accès des utilisateurs redmine : chaque compte utilisateur dispose d'un ou plusieurs rôle(s) (administrateur, accès restreint, utilisateur). L'administrateur attribue des droits spécifiques à chacun d'eux pour contrôler les accès de chacun
  • Système de tracking des demandes flexible : l'intégralité du suivi des demandes est personnalisable.
  • Graphique de Gantt et rapports personnalisés permettent de visualiser l'avancement des projets
  • Fil d'actualités, gestion documentaire et gestion de fichiers de suivi de projet
  • Flux d'informations et notifications par email
  • Gestion du savoir : un wiki permet de rédiger de la documentation technique par projet
  • Forum de discussion par projet
  • Time tracking / suivi des temps et des activités
  • Personnalisation des champs des demandes, des projets et des utilisateurs
  • Intégrations à SVN, CVS, Git, Mercurial, Bazaar et Darcs
  • Authentifications LDAP multiples
  • Support de plusieurs bases de données

La navigation dans Redmine online se fait simplement via un moteur de recherche et 13 onglets :

  • Le moteur de recherche permet de trouver des demandes (tickets), des documents de suivi de projet, des annonces, des wikis et tout autre contenu. Pour accéder directement à un ticket connu, il suffit de chercher “#” suivi du numéro de la demande
  • L'onglet Aperçu détaille la description et les responsables du projet
  • L'onglet Activité est un fil d'actualités à la manière de Facebook. Il permet de suivre l'évolution des tâches en cours
  • L'onglet Roadmap détaille pour chaque version du produit en développement la consommation des tâches et les éventuels retards
  • L'onglet Demandes est une liste de toutes les demandes. Cette liste est totalement personnalisable avec des tris, filtres et des champs personnalisés. Il est possible de créer autant de listes qu'on le souhaite et d'en partager certaines avec ses collaborateurs
  • L'onglet Nouvelle demande permet de créer un nouveau ticket. En plus des champs classiques (nom, description, pièces jointes, catégorie, tickets parents et tickets liés) il est possible d'ajouter autant de champs qu'on le souhaite dans l'onglet Configuration. On peut le considérer comme un outil de ticketing gratuit.
  • L'onglet dans Redmine Gantt est un diagramme de Gantt dynamique en fonction des filtres et tris mis en place
  • L'onglet Calendrier est un agenda des demandes en cours de traitement
  • L'onglet Documents est un espace de gestion documentaire. Il est possible d'y ajouter des documents stockés sur son ordinateur. Cette fonction est un outil d'appoint qui ne remplace pas un service comme Dropbox ou Google Drive
  • L'onglet Wiki est un espace de gestion du savoir très utile indexé dans la recherche de Redmine. Cette fonction est particulièrement utile pour rédiger de la documentation technique ou des bonnes pratiques à partager en interne
  • L'onglet Configuration permet de personnaliser tous les onglets précédents ainsi que les paramètres du projet : utilisateurs, catégories, versions du produit, droits et rôles, etc.

Installation de la plateforme

L'installation de Redmine sera réalisé sur une Debian 10.

  • OS Server : Debian 10
  • CPU : 2 Vcpu
  • RAM : 4 Go RAM
  • DD : 40 Go

Pour commencer, assurez-vous que vos packages système sont à jour.

[root@serv ]# apt update

Pour installer Redmine à partir du code source, vous devez installer les Build tools et les dépendances requises.

[root@serv ]# apt install build-essential ruby-dev libxslt1-dev libmariadb-dev libxml2-dev zlib1g-dev imagemagick libmagickwand-dev curl vim sudo
[root@serv ]# apt install mariadb-server mariadb-client

Créer une base de données Redmine et un utilisateur de base de données Une fois MariaDB installé, connectez-vous en tant qu'utilisateur root et créez la base de données Redmine et l'utilisateur de la base de données. Remplacez les noms de la base de données et de l'utilisateur de la base de données en conséquence.

[root@serv ]# mysql -u root
mysql > CREATE DATABASE redminedb CHARACTER SET utf8mb4 COLLATE = utf8mb4_unicode_ci;
mysql > grant all on redminedb.* to redmineuser@localhost identified by 'P@ssW0rD';

#### Reload privilege tables and exit the database.
mysql > flush privileges;
mysql > quit

Redmine est une application Web et vous devez donc installer un serveur Web pour y accéder.

[root@serv ]# apt install apache2

Ensuite, installez les modules Apache pour Passenger, le serveur Web léger pour Ruby.

[root@serv ]# apt install libapache2-mod-passenger

La commande ci-dessus installera également d'autres dépendances requises, y compris Ruby.

[root@serv ]# ruby -v

ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux-gnu]

Démarrez et activez Apache pour qu'il s'exécute au démarrage du système.

[root@serv ]# systemctl enable --now apache2

Lors de l'installation des dépendances de Ruby, vous devez exécuter la commande bundler en tant qu'utilisateur non root avec les privilèges sudo. Par conséquent, créez un utilisateur Redmine affecté au répertoire d’installation de Redmine, /opt/redmine en tant que répertoire home.

[root@serv ]# useradd -r -m -d /opt/redmine -s /bin/bash redmine

Ajoutez l'utilisateur Apache au groupe Redmine.

[root@serv ]# usermod -aG redmine www-data

Redmine v4.1.1 est la dernière version à ce jour. Naviguez sur la page des versions de Redmine et récupérez l’archive Redmine. Vous pouvez simplement le télécharger en exécutant la commande ci-dessous.

[root@serv ]# apt install wget
[root@serv ]# wget http://www.redmine.org/releases/redmine-4.0.5.tar.gz -P /tmp/

Extrayez l'archive Redmine dans le répertoire Redmine.

[root@serv ]# sudo -u redmine tar xzf /tmp/redmine-4.0.5.tar.gz -C /opt/redmine/ --strip-components=1

Une fois que vous avez installé Redmine dans le répertoire /opt/redmine, vous pouvez maintenant procéder à sa configuration.

Créez le fichier de configuration Redmine en renommant les exemples de fichiers de configuration comme indiqué ci-dessous:

[root@serv ]# su - redmine
[redmine@serv ]# cp /opt/redmine/config/configuration.yml{.example,}
[redmine@serv ]# cp /opt/redmine/public/dispatch.fcgi{.example,}
[redmine@serv ]# cp /opt/redmine/config/database.yml{.example,}

Ouvrez le paramètre de configuration de la base de données Redmine créé et définissez les détails de connexion à la base de données Redmine pour MySQL.

[root@serv ]# nano /opt/redmine/config/database.yml

...
production:
  adapter: mysql2
  database: redminedb
  host: localhost
  username: redmineuser
  password: "P@ssW0rD"
  encoding: utf8mb4
...
[root@serv ]# gem install bundler

Ensuite, installez les dépendances gems requises en tant qu’utilisateur redmine non privilégié.

[root@serv ]# su - redmine
[redmine@serv ]# bundle install --without development test --path vendor/bundle

Quittez l'utilisateur Redmine en appuyant sur Ctlr + D et, en tant qu'utilisateur root, accédez au répertoire d'installation de Redmine et installez les dépendances Ruby.

[root@serv ]# cd /opt/redmine

Pour empêcher la modération des cookies stockant les données de session, vous devez générer une clé secrète aléatoire que Rails utilise pour les coder.

[root@serv ]# bundle exec rake generate_secret_token

Créez la structure de la base de données Rails en exécutant la commande ci-dessous ;

[root@serv ]# RAILS_ENV=production bundle exec rake db:migrate

Une fois la migration de la base de données terminée, insérez les données de configuration par défaut dans la base de données en exécutant:

[root@serv ]# RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data

Assurez-vous que les répertoires suivants sont disponibles dans le répertoire Redmine, /opt/redmine.

  • tmp and tmp/pdf
  • public and public/plugin_assets
  • log
  • files

S'ils n'existent pas, créez-les simplement et assurez-vous qu'ils appartiennent à l'utilisateur utilisé pour exécuter Redmine.

[root@serv ]# for i in tmp tmp/pdf public/plugin_assets; do [ -d $i ] || mkdir -p $i; done

[root@serv ]# chown -R redmine:redmine files log tmp public/plugin_assets

[root@serv ]# chmod -R 755 /opt/redmine

Créez le fichier de configuration Redmine Apache VirtualHost.

[root@serv ]# nano /etc/apache2/sites-available/redmine.conf
...

<VirtualHost *:80>
	ServerName redmine.example.com
	RailsEnv production
	DocumentRoot /opt/redmine/public

	<Directory "/opt/redmine/public">
	        Allow from all
	        Require all granted
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/redmine_error.log
        CustomLog ${APACHE_LOG_DIR}/redmine_access.log combined
</VirtualHost>

Vérifiez la configuration d'Apache pour les erreurs.

[root@serv ]# apachectl configtest
 Syntax OK

Assurez-vous que le module Passager est chargé:

[root@serv ]# apache2ctl -M | grep -i passenger
passenger_module (shared)

S'il n'est pas activé, exécutez la commande ci-dessous pour l'activer.

[root@serv ]# a2enmod passenger
Enable Redmine site.

Active le vhosts Redmine

[root@serv ]# a2ensite redmine
Enabling site redmine.

Pour activer la nouvelle configuration, vous devez lancer :

[root@serv ]# systemctl reload apache2

Une fois toutes les opérations de configuration réalisées, rendez-vous sur l'adresse de votre VHOST : "http://<FQDN>"

Vous devriez avoir accès à l'interface de Redmine

Authentifiez-vous avec les accès suivants : “Login : admin / Password : admin”

Vous allez lors de la première aithentification modifier le mot de passe

Vous voici connecté à une nouvelle instance de Redmine !

Administration de la plateforme

Mise à jour de la plateforme

Annexe

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus