Projet

Général

Profil

Wiki » Historique » Révision 271

Révision 270 (Patrice Nadeau, 2022-11-22 20:03) → Révision 271/273 (Patrice Nadeau, 2022-11-22 20:04)

# 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.3 
 * 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 ruby-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 --local 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 

 1. Ajout 
 ```bash 
 zypper install libcurl-devel apache2-devel apache2-mod_perl perl-Apache-DBI subversion-server 
 ``` 

 1. Activation des modules Apache 
 ```bash 
 a2enmod ssl 
 a2enmod perl 
 a2enmod dav 
 a2enmod dav_svn 
 a2enmod dav_fs 
 a2enmod rewrite 
 a2enmod headers 
 ``` 

 1. Module _Passenger_ 
 ```bash 
 cd /srv/redmine 
 gem install passenger 
 passenger-install-apache2-module.ruby2.5 
 ``` 

 1. Modifier les fichiers comme indiqué lors de la compilation 
 1. Changer les droits sur le fichiers de log 
 ```bash 
 chmod 0666 log/production.log 
 ``` 

 1. 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 

 1. Copier le logo dans **/srv/redmine/public/images/logo.png** 
 1. Modifier le fichier **/srv/redmine/app/views/layouts/base.html.erb** 
    * Sous la ligne 

     > Si on ne veux plus afficher le titre, la mettre en commentaire (<%#) : 

        ```ruby 
         <h1><%= page_header_title %></h1> %></h1>--> 
     ``` 
     * Ajouter en dessous la ligne  

     ```ruby 
     <img src="<%= Redmine::Utils.relative_url_root %>/images/logo.png" style="top-margin: 15px; left-margin: 15px;"/> 
     ``` 
 1. 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 

 1. Arrêter Redmine 

 1. Télécharger la nouvelle version 
     ```bash 
     wget http://www.redmine.org/releases/redmine-4.2.7.tar.gz 
     ``` 
 1. Renommer le répertoire actuel 
     ```bash 
     cd /srv/ 
     mv redmine redmine.old 
     ``` 
 1. Décompresser le fichier 
     ```bash 
     tar xvf redmine-4.2.7.tar.gz 
     mv redmine-4.2.7 redmine 
     ``` 
 1. 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 
   ``` 
 1. 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 utilisé 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 
   ``` 
 1. Installer les « gems » 
   ```bash 
   cd redmine 
   bundle.ruby2.5 install --without development test 
   ``` 
 1. 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 RAILS_ENV=production 
   ``` 
 1. 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/ 
   ``` 
 1. Réinstaller le module « Passenger » (voir plus haut) 
 1. Relancer Redmine  
 1. 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**.