Wiki » Historique » Révision 188
Révision 187 (Patrice Nadeau, 2015-09-06 18:36) → Révision 188/279 (Patrice Nadeau, 2015-09-06 18:39)
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.0.3
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.0)
<pre><code class="bash">
cd /srv/
svn co http://svn.redmine.org/redmine/branches/3.0-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
> En test, voir #23
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.rhtml.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.0
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.0.tar.gz
</code></pre>
# Décompresser le fichier
<pre><code class="bash">
tar xvf redmine-3.1.0.tar.gz
mv redmine-3.1.0 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
chown -R wwwrun:www redmine/tmp
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)
# Relancer Redmine
# Vérifier
## Administration
### 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_.