Table des matières

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 :

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

Installation de la plateforme

Pre Installation

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

Mettre à jour le système

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

[root@serv ]# apt update

Installer les Build tools requis et les dépendances

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

Installer MariaDB

[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

Install Apache HTTP Server

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

Installation de Redmine

Créer un utilisateur système Redmine

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

Téléchargez et installez Redmine

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

Configuration de Redmine

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,}

Configurer les paramètres de la base de données

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
...

Installez Bundler pour gérer les dépendances gem

[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

Installer les dépendances de Redmine Ruby

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

Générer un jeton de session secret

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éer des objets de schéma de base de données

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

Configure FileSystem Permissions

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

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

Configurer vhosts Apache

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

Finalisation de l'installation

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

https://www.redmine.org

https://luisblasco.com/en/free-redmine-plugins

https://nunothemes.com/redmine-theme

https://bestredminetheme.com/zenmine

https://bestredminetheme.com/boostmine

https://redmine-evolution.com

https://www.redmineup.com/pages/themes/highrise

https://www.redmineup.com/pages/themes/a1

https://www.redmineup.com/pages/themes/circle

https://www.redmine.org/projects/redmine/wiki/FrGuide

http://redmine-git-hosting.io/features/

Plugins

https://github.com/AlphaNodes/redmine_privacy_terms

https://www.redmine.org/plugins/redmine_git_mirror

http://rmplus.pro/en/redmine/plugins/custom_menu

http://rmplus.pro/en/redmine/plugins/user_mentions

https://www.redmine.org/projects/redmine/wiki/HowTo_Easily_integrate_a_(SSH_secured)_GIT_repository_into_redmine

https://www.redmine.org/plugins/redmine_issue_favicon

https://www.redmine.org/plugins/redmineup_tags