Outils pour utilisateurs

Outils du site


computing:network_system:installation_d_un_serveur_redmine

Ceci est une ancienne révision du document !


Dépendances

Avant tout, mettons à jour notre système Ubuntu :

sudo apt-get update
sudo apt-get upgrade

Installons ensuite les outils qui seront utilisés par notre Redmine :

sudo apt-get install apache2 sqlite3 git curl

Si nous détaillons un peu plus :

  • Apache2 sera notre serveur Web
  • sqlite3 sera le moteur de base de données
  • git est un outil de gestion de conf (parmi d'autres comme mercurial, svn, cvs,…)
  • curl sera utilisé lors de l'installation pour transférer des données depuis internet

Redmine est basé sur Ruby on Rails qui est un framework Web. Ruby on Rails a également un certain nombre de dépendances qu'il faut combler mais que nous ne détaillerons pas ici :

sudo aptitude install gawk libreadline6-dev zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev \
autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config libffi-dev libmagickwand-dev

Apache, le serveur Web, a besoin d'un module pour exécuter des applications Ruby on Rails comme Redmine. Il faut donc aussi installer les dépendances de module :

sudo aptitude install libcurl4-gnutls-dev apache2-threaded-dev libapr1-dev libaprutil1-dev
sudo su - redmine

Installation

Il faut ajouter un utilisateur qui exécutera le serveur Redmine et dont le répertoire personnel contiendra l'ensemble de son arborescence. Pour plus de simplicité nous nommerons cet utilisateur redmine dans la suite de cet article.

sudo adduser \
  --system \
  --shell /bin/bash \
  --gecos 'redmine' \
  --group sudo \
  --home /opt/redmine \
  redmine

En tant qu'utilisateur redmine

Une fois cet utilisateur créé, identifiez vous avec son compte :

sudo su - redmine

Ruby On Rails

Nous allons installer Ruby via RVM (Ruby Version Manager). Récupérons et installons d'abord RVM :

curl -L https://get.rvm.io | bash -s stable
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bashrc
bash ~/.bashrc

Nous n'aurons pas besoin de générer la documentation des composants Ruby donc désactivons cette génération par défaut :

echo "gem: --no-rdoc --no-ri" >> ~/.gemrc

Installons maintenant Ruby à sa dernière version stable :

rvm get stable

Une fois installé, Ruby nous fournit un outil permettant de gérer ses composants à la manière de package appelés Gems. Cet outil nommé RubyGems est utilisé via la commande gem. Installons donc notre première Gem, bundler, qui va permettre de rechercher et d'installer les Gems nécessaires à un projet :

Les Gems d'un projet sont spécifiées dans le fichier Gemfile du projet.

gem install bundler

Redmine

Sur cette page, vous trouverez le lien de la dernière version de Redmine (en l'occurence la 2.5.2). Il ne reste plus quà la télécharger et extraire l'archive :

wget http://www.redmine.org/releases/redmine-2.5.2.tar.gz
tar xzf redmine-2.5.2.tar.gz
ln -s redmine redmine-2.5.2

Rentrons dans le répertoire fraîchement extrait et préparons la configuration de la base de données en nous basant sur le fichier d'exemple fourni.

cd redmine/
cp config/database.yml.example config/database.yml

Sachant que nous utilisons sqlite3 comme moteur de base de données, celle-ci sera réprésentée par un simple fichier que nous nommerons dans le fichier config/database.yml :

production:
  adapter: sqlite3
  database: db/redmineEurogiciel.sqlite3

Nous avons installé bundler précédemment, il est maintenant temps de l'utiliser pour installer toutes les Gems requises par notre Redmine :

L'option –without permet d'enlever de la liste des Gems dont nous ne nous servirons pas.

bundle install --without development test postgresql mysql

Pour sécuriser les données de session, nous allons générer une clé de cryptage :

rake generate_secret_token

Il ne reste plus à qu'à initialiser la base de données de Redmine. Rails pouvant définir plusieurs environnements (production, development, test), nous spécifions ici que nous voulons l'environnement de production.

RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data

Passenger

Comme évoqué au début de cet article, Passenger est le module Apache qui va nous permettre d'exécuter des applications Ruby On Rails sur le serveur web. Passenger étant une Gem, nous allons l'installer et créer le module pour notre utilisateur redmine :

gem install passenger
passenger-install-apache2-module

Nous en avons terminé l'installation à effectuer avec notre utilisateur redmine. C'est à l'administrateur de la machine de prendre le relais :

exit

En tant qu'administrateur

Apache

Il faut maintenant dire à Apache où trouver le module Passenger que nous avons installé précédemment :

Attention le chemin peut différer selon les versions de Passenger et de Ruby que vous avez installé.

Contenu de /etc/apache2/mods-available/passenger.conf :

<IfModule mod_passenger.c>
   PassengerRoot /opt/redmine/.rvm/gems/ruby-2.0.0-p481/gems/passenger-4.0.45
   PassengerDefaultRuby /opt/redmine/.rvm/wrappers/ruby-2.0.0-p481/ruby
</IfModule>

Il faut également lui demander de charger ce module en éditant le fichier /etc/apache2/mods-available/passenger.load :

LoadModule passenger_module /opt/redmine/.rvm/gems/ruby-2.0.0-p481/gems/passenger-4.0.45/buildout/apache2/mod_passenger.so

Il reste à configurer notre Redmine dans Apache via le fichier /etc/apache2/sites-available/redmine.conf :

<VirtualHost *:80>
 ServerName redmineServer
 DocumentRoot /opt/redmine/redmine/public
 <Directory /opt/redmine/redmine/public>
   Require all granted
   Options -MultiViews
 </Directory>
</VirtualHost>

Il ne reste plus qu'à désactiver le site par défaut fourni avec Apache et le remplacer par notre Redmine :

sudo a2dissite 000-default
sudo a2ensite redmine

Sans oublier d'activer le module Passenger que nous avons configuré précédemment :

sudo a2enmod passenger

La configuration d'Apache étant terminée, rechargeons le pour appliquer les changements :

sudo service apache2 reload

Notre serveur Redmine est désormais installé et devrait être accessible en HTTP. En imaginant que notre serveur se nomme myredmineserver.home, vous devriez y accéder via l'URL http://myredmineserver.home

computing/network_system/installation_d_un_serveur_redmine.1412952596.txt.gz · Dernière modification: 2014/10/10 16:49 par gdo