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 :

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

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.