Projet

Général

Profil

Wiki » Historique » Révision 214

Révision 213 (Patrice Nadeau, 2017-08-06 12:08) → Révision 214/279 (Patrice Nadeau, 2018-03-24 16:08)

# h1. 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 

 {{lastupdated_at}} {{lastupdated_by}} 

 --- 

 {{toc}} 

 ## h2. Installation 

 Ce guide documente une installation GNU/Linux avec les version suivantes : 
 * openSUSE 13.2 
 * Redmine 3.1.1 

 ### 

 h3. Prérequis 

 Un serveur *LAMP(Linux, Apache, MySQL, PHP)* [[guides_opensuse:|openSUSE]] *fonctionnel*. 

 Les logiciels supplémentaires suivants : 

 <pre><code class="bash"> 
 zypper install libmysqlclient-devel ruby-2.1 ruby21-devel rubygem-bundler    rubygem-mysql2 rubygem-pg ImageMagick ImageMagick-devel libxml2-devel libxslt-devel git gcc make 
 </code></pre> 

 ### 

 h3. 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 donnees. 
 * db : Nom de la base de donnés. 

 Lancer MySQL : 
 <pre><code class="bash"> 
 mysql -u root -p 
 </code></pre> 

 Commandes MySQL : 
 <pre><code class="sql"> 
 create database db character set utf8; 
 create user 'redmine'@'localhost' identified by 'password'; 
 grant all privileges on db.* to 'redmine'@'localhost'; 
 commit; 
 quit; 
 </code></pre> 

 ### h3. Redmine 

 L’installation sera faite dans _\srv\redmine_ (exemple avec la version 3.1) 
 <pre><code class="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 
 </code></pre> 

 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. 

 ### h3. Ruby 

 Installation des gems de Ruby 
 <pre><code class="bash"> 
 cd redmine 
 gem install bundler 
 gem install activerecord-mysql2-adapter 
 bundle install --without development test 
 </code></pre> 

 ### h3. Initialisation 

 Création de la cryptographie, de la structure et des donnés de base : 
 <pre><code class="bash"> 
 cd /srv/redmine 
 rake generate_secret_token 
 RAILS_ENV=production rake db:migrate 
 RAILS_ENV=production rake redmine:load_default_data 
 </code></pre> 

 ### h3. Serveur web 

 Redmine peux être utiliser avec le serveur inclus _webrick_ (port 3000) ou _Apache_ (port 80). 

 #### h4. Webrick 

 Ouvrir dans le pare-feu le port TCP 3000 : 
 <pre><code class="bash"> 
 yast firewall services add tcpport=3000 zone=EXT 
 </code></pre> 

 Lancer le serveur web 
 <pre><code class="bash"> 
 cd /srv/redmine 
 ruby bin/rails server webrick -e production 
 </code></pre> 

 ##### h5. Transformation en daemon 

 Le script original vient de http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_openSUSE 
 Copier le script dans le fichier */etc/init.d/redmine* 

 Le modifier de la manière suivante : 

 
 * REDMINE_BIN=/srv/redmine/current/script/rails 
 * REDMINE_USER=user 
 * Corriger le «typo» à la ligne 73 : $REDMI-NE_BIN -> $REDMINE_BIN 
 * Dans la section stop, après la ligne killproc, ajouter *rm $PIDFILE* 

 Rendre le fichier exécutable, l’ajouter aux services SUSE et l’exécuter au démarrage : 
 <pre><code class="bash"> 
 chmod 0755 /etc/init.d/redmine 
 cp -s /etc/init.d/redmine /usr/bin/rcredmine 
 chkconfig -a redmine 
 </code></pre> 

 #### h4. Apache 

 Transformation pour utilisation avec Apache. 
 * N'utilise pas _webrick_ 
 * Accessible par le port 80 au lieu de 3000 

 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 

 ### h3. Modules Apache 

 > Apache 2.4 

 Ajout 
 <pre><code class="bash"> 
 zypper install libcurl-devel apache2-devel apache2-mod_perl perl-Apache-DBI subversion-server 
 </code></pre> 

 Activation des modules Apache 
 <pre><code class="bash"> 
 a2enmod ssl 
 a2enmod perl 
 a2enmod dav 
 a2enmod dav_svn 
 a2enmod dav_fs 
 a2enmod rewrite 
 a2enmod headers 
 </code></pre> 

 ### 

 h3. Module _Passenger_ 

 <pre><code class="bash"> 
 cd /srv/redmine 
 gem install passenger 
 passenger-install-apache2-module.ruby2.1 
 </code></pre> 

 Changer les droits sur le fichiers de log 
 <pre><code class="bash"> 
 chmod 0666 log/production.log 
 </code></pre> 

 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 
 <pre><code class="bash"> 
 mkdir tmp/passenger 
 </code></pre> 

 ### 

 h3. 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_ 
 <pre><code class="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> 
 </code></pre> 

 Relancer Apache : 
 <pre><code class="bash"> 
 systemctl reload apache2 
 </code></pre> 

 ## h2. 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 apparait pour l’écriture des répertoires, changer les droits : 
 > Semble être nécessaire que pour Apache 
 <pre><code class="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 
 </code></pre> 

 ## h2. Personnalisation 

 ### h3. 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 : 
 <pre><code class="ruby"> 
 <!--<h1><%= page_header_title %></h1>--> 
 </code></pre> 
 * Ajouter en dessous la ligne  
 <pre><code class="ruby"> 
 <img src="<%= Redmine::Utils.relative_url_root %>/images/logo.png" style="top-margin: 15px; left-margin: 15px;"/> 
 </code></pre> 

 Relancer Redmine 

 ### 

 h3. Plugins 

 Modules supplémentaires pour ajouter des fonctionnalités à Redmine. 

 > Source de problème lors de mise à jour si incompatibilité. 

 #### 

 h4. Redmine Rouge 

 Permet le support de langage supplémentaire pour l'affichage de la syntaxe d'un code source. 

 "Langage supporté":http://rouge.jayferd.us/demo 

 https://github.com/ngyuki/redmine_rouge 

 <pre> 
 <code class="bash"> 
 cd /srv/redmine/plugins 
 # Enlever l'ancienne version (si présente) 
 rm -r redmine_rouge 
 # Télécharger la nouvelle avec git 
 git clone https://github.com/ngyuki/redmine_rouge.git 
 cd .. 
 bundle.ruby2.1 install 
 </code> 
 </pre> 

 Relancer redmine 

 #### 

 h4. Code Highlight 

 http://www.redmine.org/plugins/codehightlight_button 

 Bouton permettant de sélectionner du code et d'activer la syntaxe selon un langage. 

 Installation 
 <pre><code class="bash"> 
 cd /srv/redmine/plugins 
 git clone https://github.com/mediatainment/redmine_codebutton.git 
 cd .. 
 rake redmine:plugins 
 rake redmine:plugins:migrate RAILS_ENV=production 
 # Relancer Redmine 
 rcredmine restart 
 </code></pre> 

 Ajout des langages supplémentaires supportées par le « plug-in » _Redmine Rouge_. Voir "ici":https://github.com/mediatainment/redmine_codebutton/issues/2 
 Éditer le fichier */srv/redmine/plugins/redmine_codebutton/assets/javascripts/wiki-codehighlight.js* 
 * Ajouter les langages voulus dans la variable *codeRayLanguages* 

 Relancer Apache 
 <pre><code class="bash"> 
 systemctl reload apache2.service 
 </code></pre> 

 #### h4. Like Button 

 Bouton pour Facebook, Google+ et Twitter 

 http://www.redmine.org/plugins/like 

 Installation 

 <pre><code class="bash"> 
 cd /srv/redmine/plugins 
 svn svn co http://svn.s-andy.com/like-button like 
 </code></pre> 

 Relancer Redmine 

 #### h4. Wiki Extensions 

 Voir #52 

 Ajoute des macros au Wiki de Redmine 
 > La dernière version est disponible à https://bitbucket.org/haru_iida/redmine_wiki_extensions/downloads 

 Parmi les macros ajoutées: 
 * Emoticons : Un bouton apparait pour ajouter des « smilley » qui seront afficher en graphique 
 * !{{lastupdated_by}} : affiche le nom de la dernière personne à avoir modifier la page 
 * !{{lastupdated_at}} : affiche la date de la dernière modification de la page 
 * Liste complète à http://www.r-labs.org/projects/r-labs/wiki/Wiki_Extensions_en 

 > Des « smilley » non voulus peuvent apparaîtrent dans les wiki déjà en place. L'utilisation de *<notextile><notextile> </notextile></notextile>* seras alors nécessaire. 

 Étapes : 
 # Installation sur le serveur : 
 <pre><code class="bash"> 
 cd /srv/redmine/ 
 wget https://bitbucket.org/haru_iida/redmine_wiki_extensions/downloads/redmine_wiki_extensions-0.8.0.zip 
 unzip redmine_wiki_extensions-0.8.0.zip -d plugins/ 
 rake redmine:plugins:migrate RAILS_ENV=production 
 systemctl reload apache2.service 
 rm -r redmine_wiki_extensions-0.8.0.zip 
 </code></pre> 
 # Activer le module dans le ou les projets voulus 

 ## 

 h2. Retrait d'un plug-in 

 <pre><code class="bash"> 
 cd /srv/redmine 
 rake redmine:plugins:migrate NAME=plugin_name VERSION=0 RAILS_ENV=production 
 rm -r plugins/plugin_name 
 rake db:migrate_plugins RAILS_ENV=production 
 </code></pre> 

 ## 

 h2. Mise à jour 

 > Version 3.3.3 -> 3.4.2 

 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 
 <pre><code class="bash"> 
 cd /srv/ 
 mv redmine redmine.old 
 </code></pre> 
 # Télécharger la nouvelle version 
 <pre><code class="bash"> 
 wget http://www.redmine.org/releases/redmine-3.4.2.tar.gz 
 </code></pre> 
 # Décompresser le fichier 
 <pre><code class="bash"> 
 tar xvf redmine-3.4.2.tar.gz 
 mv redmine-3.4.2 redmine 
 </code></pre> 
 # Copier les anciens fichiers de configurations 
 <pre><code class="bash"> 
 cp redmine.old/config/configuration.yml redmine/config 
 cp redmine.old/config/database.yml redmine/config 
 cp -r redmine.old/files redmine 
 </code></pre> 
 # Refaire la sécurité 
 <pre><code class="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 
 </code></pre> 
 # Ne copier que les « plugins » qui ne sont pas fournis par la nouvelle version de Redmine 
 <pre><code class="bash"> 
 cp -r redmine.old/plugins/* redmine/plugins 
 </code></pre> 
 # Installer les « gems » 
 <pre><code class="bash"> 
 cd redmine 
 bundle.ruby2.1 install --without development test 
 </code></pre> 
 # Mise à jour (base de donnés, « plugins ») et ménage : 
 <pre><code class="bash"> 
 bundle.ruby2.1 exec rake generate_secret_token 
 bundle.ruby2.1 exec rake db:migrate RAILS_ENV=production 
 bundle.ruby2.1 exec rake redmine:plugins:migrate RAILS_ENV=production 
 bundle.ruby2.1 exec rake tmp:cache:clear tmp:sessions:clear 
 </code></pre> 
 # Remettre le logo (facultatif) 
 <pre><code class="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/ 
 </code></pre> 
 # 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 

 ## 

 h2. Copie de sécurité 

 [[Copie de sécurité]] 



 ## h2. Dépannage 

 ### h3. Mot de passe perdu 

 Le mot de passe admin par défaut est en _hash Sha1_ : *da3174755c5e82a436b6c7ff87c873ee50d6654b* et est *admin.* 

 ### h3. Le service tombe « DEAD » à chaque fois (webrick) 

 Effacer le fichier _/srv/redmine/tmp/pids/server.pid_.