Wiki » Historique » Révision 259
Révision 258 (Patrice Nadeau, 2019-12-07 15:57) → Révision 259/279 (Patrice Nadeau, 2019-12-07 15:58)
# Redmine
Logiciel de gestion de projets, sources, bugs et timeline.
Contient un module de Wiki, de fichiers.
Supporte aussi les systèmes de version de fichier (Git, SVN entre autre).
Disponible à http://www.redmine.org/projects/redmine/wiki/Download
De base, ne fonctionne pas avec Apache
Sa principale difficulté d’installation est sa dépendance à Ruby.
Voir aussi :
* http://bitnami.com/stack/redmine
* http://www.turnkeylinux.org/redmine
{{toc}}
----
## Installation
Ce guide documente une installation GNU/Linux avec les version suivantes :
* openSUSE Leap 15
* Redmine 3.4.6
### Prérequis
Un serveur *LAMP(Linux, Apache, MySQL, PHP)* [[guides_opensuse:|openSUSE]] *fonctionnel*.
Les logiciels supplémentaires suivants :
```bash
zypper install libmysqlclient-devel ruby-2.5 ruby2.5-devel ImageMagick ImageMagick-devel libxml2-devel libxslt-devel libmariadb-devl git gcc make gcc-c++
```
### MySQL
Création de la base de donnés.
Substituer les items suivants à votre choix :
* redmine : Usager pour la base de donnés.
* password : Mot de passe de la base de données.
* db : Nom de la base de donnés.
Lancer MySQL :
```bash
mysql -u root -p
```
Commandes MySQL :
```sql
create database db character set utf8;
create user 'redmine'@'localhost' identified by 'password';
grant all privileges on db.* to 'redmine'@'localhost';
commit;
quit;
```
### Redmine
L’installation sera faite dans **\srv\redmine** (exemple avec la version 3.4)
```bash
cd /srv/
svn co http://svn.redmine.org/redmine/branches/3.1-stable redmine
cd redmine
cp config/database.yml.example config/database.yml
cp config/configuration.yml.example config/configuration.yml
mkdir public/plugin_assets
```
Si un usager MySQL autre que _root_ ou mot de passe diffèrent est utilisé :
Éditer le fichier **config/database.yml**, section *Production* et modifier les lignes :
* **username**
* **password**
Éditer le fichier **config/configuration.yml** et modifier la configuration SMTP.
### Ruby
Installation des gems de Ruby
> Le « gem » rmagick ne fonctionne pas avec ImageMagick 2.7 (https://github.com/rmagick/rmagick/pull/299)
```bash
cd redmine
gem install bundler
# Install sans rmagick
bundle.ruby2.5 install --without development test rmagick
```
### Initialisation
Création de la cryptographie, de la structure et des donnés de base :
```bash
cd /srv/redmine
rake generate_secret_token
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
```
### Test
Le serveur inclus _webrick_ n'est pas conçu pour être utilisé en production.
Ouvrir dans le pare-feu le port TCP 3000 (ou simplement desactiver temporairement le parefeu) :
```bash
yast firewall services add tcpport=3000 zone=EXT
```
Se rendre au `server.tld:3000`
### Apache
Information provenant de :
* web :
* http://martin-denizet.com/install-redmine-2-5-x-with-git-and-subversion-on-debian-with-apache2-rvm-and-passenger/
* http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Apache_to_run_Redmine
* http://www.redmine.org/boards/2/topics/43924
* livre : "Mastering Redmine":http://shop.oreilly.com/product/9781849519144.do
### Modules Apache
> Apache 2.4
Ajout
```bash
zypper install libcurl-devel apache2-devel apache2-mod_perl perl-Apache-DBI subversion-server
```
Activation des modules Apache
```bash
a2enmod ssl
a2enmod perl
a2enmod dav
a2enmod dav_svn
a2enmod dav_fs
a2enmod rewrite
a2enmod headers
```
Module _Passenger_
```bash
cd /srv/redmine
gem install passenger
passenger-install-apache2-module.ruby2.1
```
Changer les droits sur le fichiers de log
```bash
chmod 0666 log/production.log
```
Créer le dossier des fichiers temporaire
> Par défaut les fichiers sont dans _/tmp_ mais se font enlever par le « clean-up » journalier et doivent être refait avec un reload d'Apache
```bash
mkdir tmp/passenger
```
### Activation de la configuration
Créer le fichier **/etc/apache2/conf.d/passenger.conf** et ajouter la configuration inscrite par l'installation.
Ajouter dans **/etc/apache2/vhosts.d/vhost.conf**
```bash
<VirtualHost *:80>
# La ligne suivante est nécessaire seulement si plusieurs site web son présents sur le même serveur.
ServerName redmine.yourdomain.com
DocumentRoot /srv/redmine/public
RailsEnv production
PassengerAppRoot /srv/redmine
PassengerTempDir /srv/redmine/tmp/passenger
<Directory "/srv/redmine/public">
Options Indexes ExecCGI FollowSymLinks
AllowOverride None
Order deny,allow
Require all granted
</Directory>
</VirtualHost>
```
Relancer Apache :
```bash
systemctl reload apache2
```
## Post-installation
A partir d’un navigateur web, se brancher à :
* Webrick : http://server:3000
* Apache : http://server
Utiliser l’usager *admin* avec le mot de passe *admin*.
Vérifier la configuration dans *Administration*, *Information*.
Si un avertissement apparaît pour l’écriture des répertoires, changer les droits :
> Semble être nécessaire que pour Apache
```bash
cd /srv/redmine
chmod -R 0777 public/plugin_assets
chmod -R 0777 files
chown -R wwwrun:www tmp
# Pour la macro "thumbnails" du wiki, le plugin "redmine_people" nécessite au moins 0775
chmod -R 0777 tmp/thumbnails
```
## Personnalisation
### Ajout d’un logo
> Cette étape sera à refaire lors d'une mise à jour.
Les informations viennent de : http://www.redmine.org/projects/redmine/wiki/Howto_add_a_logo_to_your_Redmine_banner
* Copier le logo dans **/srv/redmine/public/images/logo.png**
* Modifier le fichier **/srv/redmine/app/views/layouts/base.html.erb**
* Si on ne veux plus afficher le titre, mettre en commentaire :
```
<!--<h1><%= page_header_title %></h1>-->
```
* Ajouter en dessous la ligne
```
<img src="<%= Redmine::Utils.relative_url_root %>/images/logo.png" style="top-margin: 15px; left-margin: 15px;"/>
```
* Relancer Redmine
### Plugins
Modules supplémentaires pour ajouter des fonctionnalités à Redmine.
> Source de problème lors de mise à jour si incompatibilité (ce qui arrive a chaque mise à niveau...).
## Mise à jour
> Version 3.4.6 -> 4.0.5
S’assurer d'avoir les dernières versions des plugins ET qu'il sont compatibles avec la version de Redmine à installer.
Disponible à http://www.redmine.org/projects/redmine/wiki/Download
Mise à jour de Redmine à partir d'une version stable
> http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade
* Arrêter Redmine
* Renommer le répertoire actuel
```bash
cd /srv/
mv redmine redmine.old
```
* Télécharger la nouvelle version
```bash
wget http://www.redmine.org/releases/redmine-4.0.5.tar.gz
```
* Décompresser le fichier
```bash
tar xvf redmine-4.0.5.tar.gz
mv redmine-4.0.5 redmine
```
* Copier les anciens fichiers de configurations
````bash
cp redmine.old/config/configuration.yml redmine/config
cp redmine.old/config/database.yml redmine/config
cp -r redmine.old/files redmine
```
* Refaire la sécurité
```bash
chown -R root:root redmine
# Les commandes suivantes sont nécessaire seulement si Apache est utilisé
# Le même owner que config.ru doit être utiliser pour plusieurs dossier
chown wwwrun:www redmine/config.ru
mkdir redmine/tmp/passenger
chown -R wwwrun:www redmine/tmp
chmod 0777 redmine/public/plugin_assets
chmod -R 0777 redmine/files
```
* Ne copier que les « plugins » qui ne sont pas fournis par la nouvelle version de Redmine
cp -r redmine.old/plugins/* redmine/plugins
* Installer les « gems »
```bash
cd redmine
bundle.ruby2.5 install --without development test rmagick
```
* Mise à jour (base de donnés, « plugins ») et ménage :
````bash
bundle.ruby2.5 exec rake generate_secret_token
bundle.ruby2.5 exec rake db:migrate RAILS_ENV=production
bundle.ruby2.5 exec rake redmine:plugins:migrate RAILS_ENV=production
bundle.ruby2.5 exec rake tmp:cache:clear tmp:sessions:clear
```
* Remettre le logo (facultatif)
```bash
cd ..
cp redmine.old/public/images/logo.png redmine/public/images/
cp redmine.old/app/views/layouts/base.html.erb redmine/app/views/layouts/
```
* Réinstaller le module « Passenger » (voir plus haut)
* Relancer Redmine
* Vérifier
* Administration
* Informations
* Plugins
* Projects
* Users
* Roles & permissions
* Essayer d'attacher un fichier à un projet
* Essayer d’accéder au calendrier d'un projet
## Copie de sécurité
[[Copie de sécurité]]
## Dépannage
### Mot de passe perdu
Le mot de passe admin par défaut est en _hash Sha1_ : *da3174755c5e82a436b6c7ff87c873ee50d6654b* et est *admin.*
### Le service tombe « DEAD » à chaque fois (webrick)
Effacer le fichier **/srv/redmine/tmp/pids/server.pid**.