Installation de Redmine sur Ubuntu

Procédure d’installation de Redmine sur Ubuntu

Redmine est une plateforme web libre, développée en Ruby et destinée à la gestion de projets. On y retrouve un espace documentaire (wiki), un gestionnaire de tâches, un forum, un espace pour définir les roadmap, la possibilité de créer un diagramme de Gantt… Il est également possible d’associer des projets Git ou Svn et de suivre leurs évolutions (les derniers “commit”, la fréquence de “commit” par acteur, les évolutions (différence entre deux “commit”…).

Pré-requis

Tout d’abord connectez-vous à votre environnement Linux puis ouvrir un terminal afin de mettre à jour les packages Ubuntu et d’installer les librairies nécessaires à l’installation de Redmine (apache2, php5, mysql-server…)


sudo apt-get update && sudo apt-get upgrade -y

sudo apt-get install apache2 php5 libapache2-mod-php5 mysql-server php5-mysql phpmyadmin libapache2-mod-perl2 libcurl4-openssl-dev libssl-dev apache2-prefork-dev libapr1-dev libaprutil1-dev libmysqlclient-dev libmagickcore-dev libmagickwand-dev curl git-core patch build-essential bison zlib1g-dev libssl-dev libxml2-dev libxml2-dev sqlite3 libsqlite3-dev autotools-dev libxslt1-dev libyaml-0-2 autoconf automake libreadline6-dev libyaml-dev libtool imagemagick apache2-utils

sudo aptitude install ruby1.9.3

sudo aptitude install ruby2.0

sudo gem update

Installation de l’application Redmine

Maintenant que vous posséder un serveur mysql, le langage Ruby on Rails et un serveur apache, nous pouvons procéder à l’installation de l’application Redmine.

Pour cela, nous allons récupérer la dernière version de l’application et allons la déposer dans le répertoire /opt, puis créer un lien symbolique dans le répertoire /var/www nécessaire pour le serveur web (Apache2 appartient au groupe www-data donc attention à bien attribuer les droits aux répertoires et fichiers auxquels il doit avoir accès).


cd /opt

sudo wget http://www.redmine.org/releases/redmine-3.0.4.tar.gz

sudo tar xvfz redmine-3.0.4.tar.gz

sudo rm redmine-3.0.4.tar.gz

sudo mv redmine-3.0.4/ redmine

sudo chown -R root:root /usr/share/redmine

sudo www-data /usr/share/redmine/config/environment.rb

sudo chown www-data /usr/share/redmine/config/environment.rb

sudo ln -s /opt/redmine /var/www/redmine

Création de la base de données

Maintenant nous allons créer la base de données de l’application. Pour cela, connectez-vous au serveur mysql grâce à la commande

 mysql -u root -p 

et exécuter les requêtes SQL suivantes :

CREATE DATABASE redmine character set utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

Configuration de l’application

Nous allons maintenant configurer l’application Redmine et vous verrez par la suite qu’il est possible de la démarrer, dans un premier temps, sans utiliser de serveur web, tout simplement à l’aide d’une commande Ruby.

Tout d’abord, il faut se rendre dans le répertoire de configuration et modifier le fichier database.yml pour configurer les environnements de production, de test et de développement au niveau base de données.


cd redmine/config/

sudo cp database.yml.example database.yml

sudo vi database.yml

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

Redmine utilise Bundler pour gérer les dépendances de gems. On va donc installer ce module, puis, à l’aide de trois commandes : installer tous les gems requis, retirer l’installation du gem rmagick (si ImageMagick n’est pas installé sur le système) et générer un jeton secret.


sudo gem install bundler

sudo bundle install --without development test

sudo bundle install --without development test rmagick

sudo bundle exec rake generate_secret_token

 

Ensuite, nous avons besoin du gem mysql. Le gem puma, quant à lui, est utile pour installer Redmine en tant que service. Pour cela, il faut modifier le fichier Gemfile situer à la racine du répertoire de l’application Redmine (/opt/redmine) et y ajouter les lignes :

  • gem “mysql”
  • gem “puma”

Puis appliquer les changements via le Bundler. Dans le fichiers puma.rb assurez-vous de la conformité  des paramètres application_path et environment.


sudo vi /opt/redmine/Gemfile

sudo vi /opt/redmine/config/puma.rb

sudo bundle install

L’utilisateur qui exécute Redmine doit avoir les permissions en écriture sur les sous-répertoires suivants: files, log, tmp. Voici la liste des commandes à exécuter pour attribuer les droits (penser à remplacer owner:group par rapport à votre environnement) :


mkdir -p tmp tmp/pdf public/plugin_assets

sudo chown -R owner:group files log tmp public/plugin_assets

sudo chmod -R 755 files log tmp public/plugin_assets

sudo chmod -R u+rwX  log/

sudo chmod -R u+rwX  tmp/

Pour conclure avec cette partie on va créer la structure de la base de données et importer les données à l’aide de ces deux commandes, puis démarrer l’application :


sudo RAILS_ENV=production bundle exec rake db:migrate

sudo RAILS_ENV=production rake redmine:load_default_data

ruby bin/rails server webrick -e production 

 

Configuration du serveur web Apache

Nous allons paramétrer le serveur web afin d’accéder à Redmine via un nom de domaine. Pour cela, nous allons déclarer le nom de domaine dans le fichier hosts et lui attribuer l’IP de la machine (127.0.0.1       www.monredmine.fr).

sudo vi /etc/hosts

Ensuite nous allons créer le virtualhost et l’activer. /!\ Pensez à installer le module apache passenger si ce n’est pas déjà fait !


sudo aptitude install libapache2-mod-passenger

sudo a2enmod passenger

sudo vi /etc/apache2/sites-available/redmine.conf

<VirtualHost *:80>

ServerName www.monredmine.fr
DocumentRoot /var/www/redmine/public

<Directory /var/www/redmine/public>
AllowOverride all
Order allow,deny
allow from all
Options -MultiViews
</Directory>

ErrorLog /opt/redmine/log/error_redmine.log
LogLevel warn
CustomLog /opt/redmine/log/access_redmine.log combined

</VirtualHost>

sudo a2ensite redmine.conf

sudo service apache2 restart

 

Création d’un dépôt Git – Associer un projet Git à Redmine

  • sudo adduser git
  • sudo mkdir -p /opt/git/projet.git
  • su – git
  • mkdir .ssh
  • vi .ssh/authorized_keys (copie de la clé publique de l’utilisateur)
  • sudo chmod -R candy:candy /opt/git/projet.git/objects/*
  • CTRL+D
  • mkdir repogit
  • cd repogit
  • git clone /opt/git/projet.git
  • cd projet
  • mkdir new_directory
  • vi new_directory/new_file.txt
  • git add .
  • git commit
  • git push origin master

Sous redmine, créer un projet et en tant que admin, modifier la configuration du projet (onglet settings -> onglet repositories -> new repositories) pour ajouter le repo Git tout juste créé.

 

Optionnel

 

  • sudo adduser –disabled-login –gecos ‘Redmine’ redmine
  • sudo curl –output /etc/init.d/redmine https://raw.github.com/junxy/running-redmine-on-puma/master/config/init.d/redmine  (optionnel)
  • sudo vi /etc/init.d/redmine  (optionnel)
  • sudo chmod +x /etc/init.d/redmine (optionnel)

 


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *