Projet

Général

Profil

Wiki » Historique » Version 81

Patrice Nadeau, 2014-10-11 14:58

1 13 Patrice Nadeau
%{font-size:18pt}Redmine%
2
3
---
4
5 1 Patrice Nadeau
{{toc}}
6
7 13 Patrice Nadeau
h1. Redmine
8 6 Patrice Nadeau
9 31 Patrice Nadeau
Logiciel de gestion de projets, sources, bugs et timeline.
10
Contient un module de Wiki, de fichiers.
11
Supporte aussi les systèmes de version de fichier (Git, SVN entre autre).
12
Disponible à http://www.redmine.org/projects/redmine/wiki/Download
13
14
De base, ne fonctionne pas avec Apache
15 1 Patrice Nadeau
16 55 Patrice Nadeau
Sa principale difficulté d’installation est sa dépendance à Ruby.
17 31 Patrice Nadeau
Voir aussi :
18
* http://bitnami.com/stack/redmine
19
* http://www.turnkeylinux.org/redmine
20
21 6 Patrice Nadeau
h1. Installation
22
23 32 Patrice Nadeau
Ce guide documente une installation GNU/Linux avec les version suivantes :
24
* openSUSE 13.1
25
* Redmine 2.4.2
26
27 1 Patrice Nadeau
h2. Prérequis
28
29 56 Patrice Nadeau
Un serveur *LAMP(Linux, Apache, MySQL, PHP)* [[guides_opensuse:|openSUSE]] *fonctionnel*.
30 32 Patrice Nadeau
31 44 Patrice Nadeau
Les logiciels supplémentaires suivants :
32 50 Patrice Nadeau
33
<pre><code class="bash">
34 58 Patrice Nadeau
zypper install libmysqlclient-devel ruby-2.0 ruby20-devel rubygem-bundler  rubygem-mysql2 rubygem-pg ImageMagick ImageMagick-devel git gcc make
35 56 Patrice Nadeau
</code></pre>
36 32 Patrice Nadeau
37
h2. MySQL
38
39
Création de la base de donnés.
40
Substituer les items suivants à votre choix :
41
* redmine : Usager pour la base de donnés.
42
* password : Mot de passe de la base de donnees.
43
* db : Nom de la base de donnés.
44
45
Lancer MySQL :
46
<pre><code class="bash">
47
mysql -u root -p
48
</code></pre>
49
50
Commandes MySQL :
51
<pre><code class="sql">
52
create database db character set utf8;
53
create user 'redmine'@'localhost' identified by 'password';
54
grant all privileges on db.* to 'redmine'@'localhost';
55
commit;
56
quit;
57
</code></pre>
58
59 33 Patrice Nadeau
h2. Redmine
60 13 Patrice Nadeau
61 59 Patrice Nadeau
L’installation sera faite dans _\srv\redmine_ (exemple avec la version 2.5)
62 33 Patrice Nadeau
<pre><code class="bash">
63
cd /srv/
64 59 Patrice Nadeau
svn co http://svn.redmine.org/redmine/branches/2.5-stable redmine
65 33 Patrice Nadeau
cd redmine
66
cp config/database.yml.example config/database.yml
67
cp config/configuration.yml.example config/configuration.yml
68
mkdir public/plugin_assets
69
</code></pre>
70
71
Si un usager MySQL autre que _root_ ou mot de passe diffèrent est utilisé :
72
Éditer le fichier *config/database.yml*, section *Production* et modifier les lignes :
73
* *username*
74
* *password*
75
76
Éditer le fichier _config/configuration.yml_ et modifier la configuration SMTP.
77
78
h2. Ruby
79
80 34 Patrice Nadeau
Installation des gems de Ruby
81 1 Patrice Nadeau
<pre><code class="bash">
82 34 Patrice Nadeau
cd redmine
83
gem install bundler
84
gem install activerecord-mysql2-adapter
85
bundle install --without development test
86 1 Patrice Nadeau
</code></pre>
87 34 Patrice Nadeau
88
h2. Initialisation
89
90
Création de la cryptographie, de la structure et des donnés de base :
91
<pre><code class="bash">
92
cd /srv/redmine
93
rake generate_secret_token
94
RAILS_ENV=production rake db:migrate
95
RAILS_ENV=production rake redmine:load_default_data
96
</code></pre>
97
98 69 Patrice Nadeau
h2. Serveur web
99
100 70 Patrice Nadeau
Redmine peux être utiliser avec le serveur inclus _webrick_ (port 3000) ou _Apache_ (port 80).
101
102 69 Patrice Nadeau
h3. Webrick
103
104 60 Patrice Nadeau
Ouvrir dans le pare-feu le port TCP 3000 :
105
<pre><code class="bash">
106
yast firewall services add tcpport=3000 zone=EXT
107 34 Patrice Nadeau
</code></pre>
108 1 Patrice Nadeau
109 69 Patrice Nadeau
Lancer le serveur web
110 34 Patrice Nadeau
<pre><code class="bash">
111 1 Patrice Nadeau
cd /srv/redmine
112 34 Patrice Nadeau
ruby script/rails server webrick -e production
113
</code></pre>
114 16 Patrice Nadeau
115 69 Patrice Nadeau
h4. Transformation en daemon
116 35 Patrice Nadeau
117
Le script original vient de http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_openSUSE
118
Copier le script dans le fichier */etc/init.d/redmine*
119
120
Le modifier de la manière suivante :
121
* REDMINE_BIN=/srv/redmine/current/script/rails
122
* REDMINE_USER=user
123
* Corriger le «typo» à la ligne 73 : $REDMI-NE_BIN -> $REDMINE_BIN
124
* Dans la section stop, après la ligne killproc, ajouter *rm $PIDFILE*
125
126
Rendre le fichier exécutable, l’ajouter aux services SUSE et l’exécuter au démarrage :
127
<pre><code class="bash">
128
chmod 0755 /etc/init.d/redmine
129
cp -s /etc/init.d/redmine /usr/bin/rcredmine
130
chkconfig -a redmine
131
</code></pre>
132
133 69 Patrice Nadeau
h3. Apache
134 45 Patrice Nadeau
135
> En test, voir #23
136
137
Transformation pour utilisation avec Apache.
138
* N'utilise pas _webrick_
139
* Accessible par le port 80 au lieu de 3000
140
141
Information provenant de :
142 54 Patrice Nadeau
* web : 
143
** http://martin-denizet.com/install-redmine-2-5-x-with-git-and-subversion-on-debian-with-apache2-rvm-and-passenger/ 
144
** http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Apache_to_run_Redmine
145 45 Patrice Nadeau
* livre : "Mastering Redmine":http://shop.oreilly.com/product/9781849519144.do
146
147 46 Patrice Nadeau
h2. Modules Apache
148
149
Ajout
150 45 Patrice Nadeau
<pre><code class="bash">
151 49 Patrice Nadeau
zypper install libcurl-devel apache2-devel apache2-mod_perl perl-Apache-DBI subversion-server
152 45 Patrice Nadeau
</code></pre>
153
154
Activation des modules Apache
155
<pre><code class="bash">
156
a2enmod ssl
157
a2enmod perl
158
a2enmod dav
159
a2enmod dav_svn
160
a2enmod dav_fs
161
a2enmod rewrite
162
a2enmod headers
163 1 Patrice Nadeau
</code></pre>
164
165 46 Patrice Nadeau
h2. Modules _Passenger_
166
167 45 Patrice Nadeau
<pre><code class="bash">
168
cd /srv/redmine
169
gem install passenger
170
passenger-install-apache2-module2.0
171 1 Patrice Nadeau
</code></pre>
172
173 46 Patrice Nadeau
h2. Activation de la configuration
174
175 64 Patrice Nadeau
Créer le fichier _/etc/apache2/conf.d/passenger.conf_ et ajouter la configuration inscrite par l'installation.
176 61 Patrice Nadeau
177 45 Patrice Nadeau
Ajouter dans _/etc/apache2/vhosts.d/vhost.conf_
178
<pre><code class="bash">
179
<VirtualHost *:80>
180 67 Patrice Nadeau
    # La ligne suivante est nécessaire seulement si plusieurs site web son présents sur le même serveur.
181 45 Patrice Nadeau
    ServerName redmine.yourdomain.com
182
    DocumentRoot /srv/redmine/public
183
184 1 Patrice Nadeau
    RailsEnv production
185 67 Patrice Nadeau
    PassengerAppRoot /srv/redmine
186 45 Patrice Nadeau
187
    <Directory "/srv/redmine/public">
188
        Options Indexes ExecCGI FollowSymLinks
189 1 Patrice Nadeau
        AllowOverride None
190
        Order deny,allow
191
        Allow from all
192
    </Directory>
193
</VirtualHost>
194 65 Patrice Nadeau
</code></pre>
195
196
Relancer Apache :
197
<pre><code class="bash">
198
systemctl reload apache2
199 45 Patrice Nadeau
</code></pre>
200
201 68 Patrice Nadeau
h1. Post-installation
202
203 71 Patrice Nadeau
A partir d’un navigateur web, se brancher à :
204
* Webrick : http://server:3000
205
* Apache : http://server
206
207 69 Patrice Nadeau
Utiliser l’usager *admin* avec le mot de passe *admin*.
208 1 Patrice Nadeau
Vérifier la configuration dans *Administration*, *Information*.
209
210 80 Patrice Nadeau
Si un avertissement apparait pour l’écriture des répertoires, changer les droits :
211
<pre><code class="bash">
212
cd /srv/redmine/public
213
chmod 0777 plugin_assets
214 66 Patrice Nadeau
215 80 Patrice Nadeau
</code></pre>
216 75 Patrice Nadeau
217 29 Patrice Nadeau
h1. Personnalisation
218 8 Patrice Nadeau
219 36 Patrice Nadeau
h2. Ajout d’un logo
220
221
Les informations viennent de : http://www.redmine.org/projects/redmine/wiki/Howto_add_a_logo_to_your_Redmine_banner
222
223
Copier le logo dans _/srv/redmine/public/images/logo.png_
224 1 Patrice Nadeau
225 37 Patrice Nadeau
Modifier le fichier _/srv/redmine/app/views/layout/base.rhtml.erb_
226
* Ajouter la ligne 
227 1 Patrice Nadeau
<pre><code class="ruby">
228 37 Patrice Nadeau
<img src="<%= Redmine::Utils.relative_url_root %>/images/logo.png" style="top-margin: 15px; left-margin: 15px;"/>
229
</code></pre>
230
* Si on ne veux plus afficher le titre, mettre en commentaire :
231
<pre><code class="ruby">
232 1 Patrice Nadeau
<!--<h1><%= page_header_title %></h1>-->
233 37 Patrice Nadeau
</code></pre>
234
235
Redémarrer Redmine
236 72 Patrice Nadeau
237 36 Patrice Nadeau
238 1 Patrice Nadeau
h2. Plugins
239
240 38 Patrice Nadeau
h3. Extended Fields
241
242
Permet de créer de nouveau champ dans la basse de donnés.
243
244
http://www.redmine.org/plugins/extended_fields
245
246
Installation : 
247
<pre><code class="bash">
248
cd /srv/redmine
249
svn co http://svn.s-andy.com/extended-fields plugins/extended_fields
250
rake redmine:plugins:migrate RAILS_ENV=production
251 1 Patrice Nadeau
</code></pre>
252 73 Patrice Nadeau
253
Relancer Redmine
254 38 Patrice Nadeau
255 4 Patrice Nadeau
h3. Redmine Rouge
256 12 Patrice Nadeau
257 1 Patrice Nadeau
Permet le support de langage supplémentaire pour l'affichage de la syntaxe d'un code source.
258 4 Patrice Nadeau
259 13 Patrice Nadeau
"Langage supporté":http://rouge.jayferd.us/demo
260 1 Patrice Nadeau
261
https://github.com/ngyuki/redmine_rouge
262
263
<pre>
264
<code class="bash">
265
cd /srv/redmine/plugins
266
git clone https://github.com/ngyuki/redmine_rouge.git
267
cd ..
268
bundle install
269
</code>
270
</pre>
271 74 Patrice Nadeau
272
Relancer redmine
273
274 5 Patrice Nadeau
275 22 Patrice Nadeau
h3. Code Highlight
276 9 Patrice Nadeau
277 10 Patrice Nadeau
http://www.redmine.org/plugins/codehightlight_button
278 9 Patrice Nadeau
279
Bouton permettant de sélectionner du code et d'activer la syntaxe selon un langage.
280 11 Patrice Nadeau
>Ne fonctionne pas pour les langages supplémentaires supportées par le « plug-in » _Redmine Rouge_. Voir "ici":https://github.com/mediatainment/redmine_codebutton/issues/2
281 9 Patrice Nadeau
282 1 Patrice Nadeau
Installation
283
<pre><code class="bash">
284 10 Patrice Nadeau
cd /srv/redmine/plugins
285
git clone https://github.com/mediatainment/redmine_codebutton.git
286
cd ..
287
rake redmine:plugins
288 9 Patrice Nadeau
rake redmine:plugins:migrate RAILS_ENV=production
289 10 Patrice Nadeau
# Relancer Redmine
290 1 Patrice Nadeau
rcredmine restart
291
</code></pre>
292 11 Patrice Nadeau
293 23 Patrice Nadeau
h3. Redmine Issue Checklist
294 11 Patrice Nadeau
295
Extends issues to store checklist items
296
297
http://redminecrm.com/projects/checklist
298
299
Installation
300
<pre><code class="bash">
301
cd /srv/redmine/plugins
302
wget http://redminecrm.com/license_manager/4200/redmine_issue_checklist-2_0_5.zip
303
unzip redmine_issue_checklist-2_0_5.zip
304
bundle exec rake redmine:plugins NAME=redmine_issue_checklist RAILS_ENV=production
305
# Relancer Redmine
306
rcredmine restart
307
</code></pre>
308
309
Configuration
310
Dans *Administration*
311
* *Plugins*
312
** Choisir les options voulues
313
* *Roles and permissions*
314
** Choisir le rôle
315
Donner les droits voulus sur :
316
*** Done checklist items 
317
*** Edit checklist items 
318 14 Patrice Nadeau
*** View checklist
319 1 Patrice Nadeau
320 24 Patrice Nadeau
h3. Redmine People
321
322 29 Patrice Nadeau
> A faire
323 24 Patrice Nadeau
324 20 Patrice Nadeau
h3. WikiNG
325 1 Patrice Nadeau
326 20 Patrice Nadeau
Personnalisation des items dans le wiki.
327 28 Patrice Nadeau
Ajoute des boutons et des icônes comme FIXME et TODO.
328 29 Patrice Nadeau
> « Écrase » le bouton installé par _Code Highlight_
329 21 Patrice Nadeau
330
Installation
331 27 Patrice Nadeau
<pre><code class="bash">
332 26 Patrice Nadeau
cd /srv/redmine
333
wget http://projects.andriylesyuk.com/attachments/download/564/wiking-1.0.0b.tar.bz2
334
tar xvf wiking-1.0.0b.tar.bz2
335
mv wiking plugins
336
rake redmine:plugins:migrate RAILS_ENV=production
337
# restart Redmine
338
rcredmine restart
339
</code></pre>
340 20 Patrice Nadeau
341 14 Patrice Nadeau
h1. Mise à jour
342 1 Patrice Nadeau
343 14 Patrice Nadeau
S’assurer d'avoir les dernières versions des plugins.
344 9 Patrice Nadeau
345 41 Patrice Nadeau
Disponible a http://www.redmine.org/projects/redmine/wiki/Download 
346
347
Mise à jour de Redmine à partir de SVN (dernière version)
348
349
Vérifier la version pointée par SVN
350
<pre><code class="bash">
351
svn info
352
</code></pre>
353
354
Si ne pointe pas sur la bonne, faire le changement :
355
<pre><code class="bash">
356
svn switch http://svn.redmine.org/redmine/branches/2.4-stable
357
</code></pre>
358
359
Faire la mise à jour :
360
<pre><code class="bash">
361
svn update
362
</code></pre>
363
364
Installation des «gem» de Ruby.
365
>Vérifier la version de _rubygem-mysql2_ et modifier le fichier *Gemfile* pour la même version.
366
367
<pre><code class="bash">
368
cd /srv/redmine
369
rm -r /usr/lib64/ruby/gems/*
370
zypper rm rubygem-mysql2
371
zypper in rubygem-mysql2
372
gem install bundler
373
gem install activerecord-mysql2-adapter
374
bundle install --without development test
375
</code></pre>
376
377
Mise à jour (base de donnés, « plugins ») et ménage :
378
<pre><code class="bash">
379
rake db:migrate RAILS_ENV=production
380
rake redmine:plugins:migrate RAILS_ENV=production
381
rake tmp:cache:clear
382
rake tmp:sessions:clear
383
rcredmine restart
384
</code></pre>
385
386 14 Patrice Nadeau
h1. Copie de sécurité
387 5 Patrice Nadeau
388 40 Patrice Nadeau
Remplacer les items suivants :
389
* *username* : Usager de la base de donnés.
390
* *password* : Mot de passe de la base de donnés.
391
* *database* : Nom de la base de données.
392
* *path* : Emplacement pour recevoir le fichier.
393
394
<pre><code class="bash">
395
/usr/bin/mysqldump -u username -p password database | gzip > /path/redmine_`date +%y_%m_%d`.gz
396
rsync -a /srv/redmine/files /path/
397
</code></pre>
398
399
Script un peu plus evolué :
400 5 Patrice Nadeau
<pre> <code class="bash">
401 42 Patrice Nadeau
402 5 Patrice Nadeau
#!/bin/bash
403
#
404
# backup_redmine.sh
405
# Backup of a Redmine setup
406 1 Patrice Nadeau
# Last Changes: 2013-02-23
407 40 Patrice Nadeau
# Maintainer: Patrice Nadeau  <pnadeau@patricenadeau.com>
408 5 Patrice Nadeau
409
# TODO Verify the results (folder exist, enough disk pace , etc..)
410
411
## The only variable needed to be changed
412
# Directory of the Redmine install
413
declare -r RAIL_ROOT='/srv/redmine'
414
# MySQL database
415
declare -r MYSQL_DB=''
416
# MySQL username for the Redemine db
417
declare -r MYSQL_USER=''
418
# MySQL password for the Redemine db
419
declare -r MYSQL_PASSWORD=''
420
# Directory for the backup (must exist and with no space in the name)
421
declare -r DIR='/root'
422
## end
423
424
# Exit level
425
declare -ir EXIT_OK=0
426
declare -ir EXIT_WARNING=1
427
declare -ir EXIT_ERROR=2
428
429
declare -i STATUS=$EXIT_OK
430
431
# The directory inside the archive 
432
declare -r REDMINE='redmine'
433
TMP_DIR=$DIR/$REDMINE
434
435
# This will be used for the archive file 
436
declare -r DST=$DIR/redmine_$(date +%Y%m%d_%H%M%S).tar.gz
437
438
# The temporary sql file
439
declare -r TMP_MYSQL=$TMP_DIR/$MYSQL_DB.mysql
440
441
echo "Backup in progress in $DST"
442
443
#### Create the temp directory ####
444
mkdir $TMP_DIR
445
446
#### backup MySQL ####
447
if [ $STATUS -eq $EXIT_OK ] 
448
then
449
	STEP='Creating MySQL backup'
450
	mysqldump --user=$MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DB \
451
		> $TMP_MYSQL
452
	STATUS=$?
453
fi
454
455
#### backup the Redmine folder ####
456
if [ $STATUS -eq $EXIT_OK ] 
457
then
458
	STEP='Creating Redmine'"'"' files backup'
459
	cp --recursive $RAIL_ROOT $TMP_DIR
460
	STATUS=$?
461
fi
462
463
#### create the archive file ####
464
if [ $STATUS -eq $EXIT_OK ] 
465
then
466
	STEP="Creating archive"
467
	tar --create --gzip --file $DST --directory=$DIR $REDMINE
468
	STATUS=$?
469
fi
470
471
#### cleanup ####
472
if [ $STATUS -eq $EXIT_OK ] 
473
then
474
	STEP='Cleaning up'
475
	rm --recursive --force $TMP_DIR
476
	STATUS=$?
477
fi
478
479
#### exit ####
480
if [ $STATUS -eq $EXIT_OK ] 
481
then
482
	echo "Backup done"
483
else
484
	echo "Bakup failed with error code $STATUS in step $STEP"
485
fi
486
487
488
exit $STATUS
489
490
</code></pre>
491 39 Patrice Nadeau
492
h1. Dépannage
493
494
h2. Mot de passe perdu
495
496
Le mot de passe admin par défaut est en _hash Sha1_ : *da3174755c5e82a436b6c7ff87c873ee50d6654b* et est *admin.*
497
498
h2. Le service tombe « DEAD » a chaque fois
499
500
Effacer le fichier _/srv/redmine/tmp/pids/server.pid_.