Projet

Général

Profil

Wiki » Historique » Révision 198

Révision 197 (Patrice Nadeau, 2015-10-31 10:46) → Révision 198/279 (Patrice Nadeau, 2016-02-05 09:32)

h1. Redmine 

 > Version 3.1.1 

 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 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. Modules _Passenger_ 

 <pre><code class="bash"> 
 cd /srv/redmine 
 gem install passenger 
 passenger-install-apache2-module2.0 
 </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 
 git clone https://github.com/ngyuki/redmine_rouge.git 
 cd .. 
 bundle 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.7.0.zip 
 unzip redmine_wiki_extensions-0.7.0.zip -d plugins/ 
 rake redmine:plugins:migrate RAILS_ENV=production 
 systemctl reload apache2.service 
 rm -r redmine_wiki_extensions-0.7.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.1.1 

 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.1.1.tar.gz 
 </code></pre> 
 # Décompresser le fichier 
 <pre><code class="bash"> 
 tar xvf redmine-3.1.1.tar.gz 
 mv redmine-3.1.1 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 install --without development test 
 </code></pre> 
 # Mise à jour (base de donnés, « plugins ») et ménage : 
 <pre><code class="bash"> 
 bundle exec rake generate_secret_token 
 bundle exec rake db:migrate RAILS_ENV=production 
 bundle exec rake redmine:plugins:migrate RAILS_ENV=production 
 bundle exec rake tmp:cache:clear tmp:sessions:clear 
 </code></pre> 
 # Remettre le logo (facultatif) 
 <pre><code class="bash"> 
 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> 
 # 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_.