Installation d'une application de gestion de projets

Redmine est une application web libre de gestion de projets complète en mode web, développée en Ruby sur la base du framework Ruby on Rails.
Comme il est basé sur une interface Web, vous pouvez donc l'utiliser à partir de n'importe quelle plate-forme client qui fournit un navigateur Web.
Il convient parfaitement aux équipes multilingues car il contient des traductions pour 42 langues.
Vous pouvez suivre plusieurs projets dans une seule installation, il dispose d'une plateforme de support intégré, d'une gestion des documents, d'un gestionnaire de fichier, d'un wiki pour le support support.
Vous pouvez le connecter à d'autres applications pour l'authentification LDAP et API REST.
Voici, ces 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

personnalisation avancées des demandes (champs, flux, droits personnalisables)

Wiki multi-projets

forums multi-projets

news et tickets accessibles par RSS/ATOM

notifications par courriel (mail)

gestion de feuilles de route, GANTT, calendrier

saisie du temps passé (sans possibilité de modifier une saisie antérieure)

historique

intégration avec divers suivis de versions : SVN, CVS, Mercurial, Git, Bazaar et Darcs

identification possible via LDAP, OpenID et CAS (à travers un plugin pour ce dernier)

support de plusieurs bases de données : MySQL, MariaDB, PostgreSQL, SQLite ou SQL Server

Ce tutoriel couvre l'installation de Redmine 3.4.2 avec Apache2 en tant que serveur Web et MariaDB comme base de données sur le système d'exploitation Debian 9.

Prérequis

Avoir Debian 9

Avoir les privilèges Root

Installation des dépendances

Redmine à beaucoup de dépendance, mais nous pouvons les installer facilement avec apt.
La première étape consiste à obtenir les privilèges root, puis à mettre à jour vos dépots Debian.

su -
apt-get update

Installation des dépendances avec la commande apt :

apt-get install mariadb-server mariadb-client libmariadbd-dev imagemagick libmagickwand-6.q16-dev libmagick++-6.q16-7 ruby-rmagick gem-plugin-magick libcurl4-openssl-dev subversion apache2 ruby ruby-dev libapache2-mod-passenger libapache2-mod-svn make libxslt1.1

Installation de Redmine

Téléchargement et mise en place de l'arborescence :

Nous allons d'abord créer le login redmine

groupadd redmine
useradd -m -g redmine -d /opt/redmine -s /bin/sh redmine

Puis, téléchargé la dernier version de Redmine sur le lien suivant :
https://www.redmine.org/projects/redmine/wiki/Download
Donc, je vais placer l'installation dans le répertoir /opt/redmine et les fichiers de configuration dans redmine-home:
Téléchargement de l'archive :

cd /opt/redmine
wget https://www.redmine.org/releases/redmine-3.4.2.tar.gz

Décompression de l'archive et création du répertoire qui va conserver les fichier de configuration :

tar -xvzf redmine-3.4.2.tar.gz
mkdir redmine-home
chown -Rh redmine:redmine *

cd redmine-3.4.2

mv config/ ../redmine-home/
mv files/ ../redmine-home/
mv log/ ../redmine-home/
mv plugins/ ../redmine-home/
ln -s ../redmine-home/config/
ln -s ../redmine-home/files/
ln -s ../redmine-home/log/
ln -s ../redmine-home/plugins/

Configuration de MariaDB, création de la base et du login :

mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<PassWord>');

Création de la base :

CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY '<PassWord>';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

Nous allons reprendre le fichier de configuration d’exemple dans le répertoire redmine-home/config/

cp database.yml.example database.yml

Voici, un exemple de configuration :

production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "<password>"
encoding: utf8

Installation de Redmine et configuration :

Installation du bundler, il faudra ce placer à la racine de l'installation :

cd /opt/redmine/redmine-3.4.2/
gem install bundler
bundle install --without development test

Si, vous avez un problème avec nokogiri : gem install nokogiri -v '1.7.2' -- --use-system-libraries

Génération de la clé de session du magasin de clé :
Cette étape permet de générer une clé aléatoire, utilisé par Rails pour coder les cookies en stockant les données de session afin d'éviter leur falsification.

La génération d'un nouveau jeton secret invalide toutes les sessions existantes après le redémarrage.

bundle exec rake generate_secret_token

Création de la structure de la base de données, exécuter la commande suivante sous le répertoire racine de l'application :

RAILS_ENV=production bundle exec rake db:migrate

Insertion d'une configuration par défaut :

RAILS_ENV=production bundle exec rake redmine:load_default_data

Affichage :

Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] fr
====================================
Default configuration data loaded.

Configuration des droits d'accès :

chown redmine:redmine -Rh *

cd /opt/redmine/redmine-home
chown -h www-data:www-data files log public public/plugin_assets
chmod -R 755 files public/plugin_assets
cd /opt/redmine/redmine-3.4.2
chown -R www-data:www-data files log public tmp vendor config.ru
chmod -R 755 log tmp
ln -s redmine-3.4.2/ redmine-source
chown redmine:redmine redmine-source

Test de l’installation :

bundle exec rails server webrick -e production

Avec la commande wget vous pouvez tester votre redmine :

wget http://localhost:3000

Configuration d'Apache :

Configuration de votre virtualhost apache :
Dans /etc/apache2/sites-availables, vous pouvez éditer votre hôte virtuelle comme cela :

<VirtualHost *:80>
Servername redmine.ksh-linux.info
DocumentRoot /var/www/html
RedirectMatch "^/$" "http://redmine.ksh-linux.info/redmine"
<Location /redmine>
RailsEnv production
RackBaseURI /redmine
Options Indexes ExecCGI FollowSymLinks
Order allow,deny
Allow from all
AllowOverride all
</Location>
LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/redmine.ksh-linu.info-error.log
CustomLog ${APACHE_LOG_DIR}/redmine.ksh-linux.info-access.log combined
</VirtualHost>

Activation de notre virtualHost et redémarrage d'apache :

a2ensite redmine
service apache2 restart

Puis, nous allons créer un lien symbolique pour aller vers notre répertoire d'installation.
Donc, dans /var/www/html :

cd /var/www/html
ln -s /opt/redmine/redmine-source/public/ redmine
chown -h www-data:www-data redmine

Voila, Redmine est installer et prêt à fonctionner.
Question, comentaire lâcher-vous.