Projet

Général

Profil

Wiki » Historique » Version 93

Patrice Nadeau, 2014-10-15 20:06

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 91 Patrice Nadeau
** http://www.redmine.org/boards/2/topics/43924
146 45 Patrice Nadeau
* livre : "Mastering Redmine":http://shop.oreilly.com/product/9781849519144.do
147
148 46 Patrice Nadeau
h2. Modules Apache
149
150
Ajout
151 45 Patrice Nadeau
<pre><code class="bash">
152 49 Patrice Nadeau
zypper install libcurl-devel apache2-devel apache2-mod_perl perl-Apache-DBI subversion-server
153 45 Patrice Nadeau
</code></pre>
154
155
Activation des modules Apache
156
<pre><code class="bash">
157
a2enmod ssl
158
a2enmod perl
159
a2enmod dav
160
a2enmod dav_svn
161
a2enmod dav_fs
162
a2enmod rewrite
163
a2enmod headers
164 1 Patrice Nadeau
</code></pre>
165
166 46 Patrice Nadeau
h2. Modules _Passenger_
167
168 45 Patrice Nadeau
<pre><code class="bash">
169
cd /srv/redmine
170
gem install passenger
171
passenger-install-apache2-module2.0
172 1 Patrice Nadeau
</code></pre>
173
174 90 Patrice Nadeau
Changer les droits sur le fichiers de log
175
<pre><code class="bash">
176
chmod 0666 /srv/redmine.log/production.log
177
</code></pre>
178
179 93 Patrice Nadeau
Créer le dossier des fichiers temporaire
180
> 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
181
<pre><code class="bash">
182
mkdir /srv/redmine/tmp/passenger
183
</code></pre>
184
185 46 Patrice Nadeau
h2. Activation de la configuration
186
187 64 Patrice Nadeau
Créer le fichier _/etc/apache2/conf.d/passenger.conf_ et ajouter la configuration inscrite par l'installation.
188 61 Patrice Nadeau
189 45 Patrice Nadeau
Ajouter dans _/etc/apache2/vhosts.d/vhost.conf_
190
<pre><code class="bash">
191
<VirtualHost *:80>
192 67 Patrice Nadeau
    # La ligne suivante est nécessaire seulement si plusieurs site web son présents sur le même serveur.
193 45 Patrice Nadeau
    ServerName redmine.yourdomain.com
194
    DocumentRoot /srv/redmine/public
195
196 1 Patrice Nadeau
    RailsEnv production
197 67 Patrice Nadeau
    PassengerAppRoot /srv/redmine
198 92 Patrice Nadeau
    PassengerTempDir /srv/redmine/tmp/passenger
199 45 Patrice Nadeau
200
    <Directory "/srv/redmine/public">
201
        Options Indexes ExecCGI FollowSymLinks
202 1 Patrice Nadeau
        AllowOverride None
203
        Order deny,allow
204
        Allow from all
205
    </Directory>
206
</VirtualHost>
207 65 Patrice Nadeau
</code></pre>
208
209
Relancer Apache :
210
<pre><code class="bash">
211
systemctl reload apache2
212 45 Patrice Nadeau
</code></pre>
213
214 68 Patrice Nadeau
h1. Post-installation
215
216 71 Patrice Nadeau
A partir d’un navigateur web, se brancher à :
217
* Webrick : http://server:3000
218
* Apache : http://server
219
220 69 Patrice Nadeau
Utiliser l’usager *admin* avec le mot de passe *admin*.
221 1 Patrice Nadeau
Vérifier la configuration dans *Administration*, *Information*.
222
223 80 Patrice Nadeau
Si un avertissement apparait pour l’écriture des répertoires, changer les droits :
224 82 Patrice Nadeau
> Semble être nécessaire que pour Apache
225 1 Patrice Nadeau
<pre><code class="bash">
226 82 Patrice Nadeau
cd /srv/redmine
227
chmod 0777 public/plugin_assets
228 83 Patrice Nadeau
chmod 0777 files
229 80 Patrice Nadeau
</code></pre>
230 75 Patrice Nadeau
231 29 Patrice Nadeau
h1. Personnalisation
232 8 Patrice Nadeau
233 36 Patrice Nadeau
h2. Ajout d’un logo
234
235
Les informations viennent de : http://www.redmine.org/projects/redmine/wiki/Howto_add_a_logo_to_your_Redmine_banner
236
237
Copier le logo dans _/srv/redmine/public/images/logo.png_
238 1 Patrice Nadeau
239 37 Patrice Nadeau
Modifier le fichier _/srv/redmine/app/views/layout/base.rhtml.erb_
240
* Ajouter la ligne 
241 1 Patrice Nadeau
<pre><code class="ruby">
242 37 Patrice Nadeau
<img src="<%= Redmine::Utils.relative_url_root %>/images/logo.png" style="top-margin: 15px; left-margin: 15px;"/>
243
</code></pre>
244
* Si on ne veux plus afficher le titre, mettre en commentaire :
245
<pre><code class="ruby">
246 1 Patrice Nadeau
<!--<h1><%= page_header_title %></h1>-->
247 37 Patrice Nadeau
</code></pre>
248
249
Redémarrer Redmine
250 72 Patrice Nadeau
251 36 Patrice Nadeau
252 1 Patrice Nadeau
h2. Plugins
253
254 38 Patrice Nadeau
h3. Extended Fields
255
256
Permet de créer de nouveau champ dans la basse de donnés.
257
258
http://www.redmine.org/plugins/extended_fields
259
260
Installation : 
261
<pre><code class="bash">
262
cd /srv/redmine
263
svn co http://svn.s-andy.com/extended-fields plugins/extended_fields
264
rake redmine:plugins:migrate RAILS_ENV=production
265 1 Patrice Nadeau
</code></pre>
266 73 Patrice Nadeau
267
Relancer Redmine
268 38 Patrice Nadeau
269 4 Patrice Nadeau
h3. Redmine Rouge
270 12 Patrice Nadeau
271 1 Patrice Nadeau
Permet le support de langage supplémentaire pour l'affichage de la syntaxe d'un code source.
272 4 Patrice Nadeau
273 13 Patrice Nadeau
"Langage supporté":http://rouge.jayferd.us/demo
274 1 Patrice Nadeau
275
https://github.com/ngyuki/redmine_rouge
276
277
<pre>
278
<code class="bash">
279
cd /srv/redmine/plugins
280
git clone https://github.com/ngyuki/redmine_rouge.git
281
cd ..
282
bundle install
283
</code>
284
</pre>
285 74 Patrice Nadeau
286
Relancer redmine
287
288 5 Patrice Nadeau
289 22 Patrice Nadeau
h3. Code Highlight
290 9 Patrice Nadeau
291 10 Patrice Nadeau
http://www.redmine.org/plugins/codehightlight_button
292 9 Patrice Nadeau
293
Bouton permettant de sélectionner du code et d'activer la syntaxe selon un langage.
294 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
295 9 Patrice Nadeau
296 1 Patrice Nadeau
Installation
297
<pre><code class="bash">
298 10 Patrice Nadeau
cd /srv/redmine/plugins
299
git clone https://github.com/mediatainment/redmine_codebutton.git
300
cd ..
301
rake redmine:plugins
302 9 Patrice Nadeau
rake redmine:plugins:migrate RAILS_ENV=production
303 10 Patrice Nadeau
# Relancer Redmine
304 1 Patrice Nadeau
rcredmine restart
305
</code></pre>
306 11 Patrice Nadeau
307 23 Patrice Nadeau
h3. Redmine Issue Checklist
308 11 Patrice Nadeau
309
Extends issues to store checklist items
310
311
http://redminecrm.com/projects/checklist
312
313
Installation
314
<pre><code class="bash">
315
cd /srv/redmine/plugins
316
wget http://redminecrm.com/license_manager/4200/redmine_issue_checklist-2_0_5.zip
317
unzip redmine_issue_checklist-2_0_5.zip
318
bundle exec rake redmine:plugins NAME=redmine_issue_checklist RAILS_ENV=production
319 1 Patrice Nadeau
</code></pre>
320 84 Patrice Nadeau
321
Relancer Redmine
322 11 Patrice Nadeau
323
Configuration
324
Dans *Administration*
325
* *Plugins*
326
** Choisir les options voulues
327
* *Roles and permissions*
328
** Choisir le rôle
329
Donner les droits voulus sur :
330
*** Done checklist items 
331
*** Edit checklist items 
332 14 Patrice Nadeau
*** View checklist
333 1 Patrice Nadeau
334 24 Patrice Nadeau
h3. Redmine People
335
336 29 Patrice Nadeau
> A faire
337 24 Patrice Nadeau
338 20 Patrice Nadeau
h3. WikiNG
339 1 Patrice Nadeau
340 20 Patrice Nadeau
Personnalisation des items dans le wiki.
341 28 Patrice Nadeau
Ajoute des boutons et des icônes comme FIXME et TODO.
342 29 Patrice Nadeau
> « Écrase » le bouton installé par _Code Highlight_
343 21 Patrice Nadeau
344
Installation
345 27 Patrice Nadeau
<pre><code class="bash">
346 26 Patrice Nadeau
cd /srv/redmine
347
wget http://projects.andriylesyuk.com/attachments/download/564/wiking-1.0.0b.tar.bz2
348
tar xvf wiking-1.0.0b.tar.bz2
349
mv wiking plugins
350
rake redmine:plugins:migrate RAILS_ENV=production
351 1 Patrice Nadeau
</code></pre>
352 85 Patrice Nadeau
353
Relancer Redmine
354
355 14 Patrice Nadeau
h1. Mise à jour
356 1 Patrice Nadeau
357 14 Patrice Nadeau
S’assurer d'avoir les dernières versions des plugins.
358 9 Patrice Nadeau
359 41 Patrice Nadeau
Disponible a http://www.redmine.org/projects/redmine/wiki/Download 
360
361
Mise à jour de Redmine à partir de SVN (dernière version)
362
363
Vérifier la version pointée par SVN
364
<pre><code class="bash">
365
svn info
366
</code></pre>
367
368
Si ne pointe pas sur la bonne, faire le changement :
369
<pre><code class="bash">
370
svn switch http://svn.redmine.org/redmine/branches/2.4-stable
371
</code></pre>
372
373
Faire la mise à jour :
374
<pre><code class="bash">
375
svn update
376
</code></pre>
377
378
Installation des «gem» de Ruby.
379
>Vérifier la version de _rubygem-mysql2_ et modifier le fichier *Gemfile* pour la même version.
380
381
<pre><code class="bash">
382
cd /srv/redmine
383
rm -r /usr/lib64/ruby/gems/*
384
zypper rm rubygem-mysql2
385
zypper in rubygem-mysql2
386
gem install bundler
387
gem install activerecord-mysql2-adapter
388
bundle install --without development test
389
</code></pre>
390
391
Mise à jour (base de donnés, « plugins ») et ménage :
392
<pre><code class="bash">
393
rake db:migrate RAILS_ENV=production
394
rake redmine:plugins:migrate RAILS_ENV=production
395
rake tmp:cache:clear
396
rake tmp:sessions:clear
397 1 Patrice Nadeau
</code></pre>
398 87 Patrice Nadeau
399
Relancer Redmine
400 41 Patrice Nadeau
401 14 Patrice Nadeau
h1. Copie de sécurité
402 5 Patrice Nadeau
403 40 Patrice Nadeau
Remplacer les items suivants :
404
* *username* : Usager de la base de donnés.
405
* *password* : Mot de passe de la base de donnés.
406
* *database* : Nom de la base de données.
407
* *path* : Emplacement pour recevoir le fichier.
408
409
<pre><code class="bash">
410
/usr/bin/mysqldump -u username -p password database | gzip > /path/redmine_`date +%y_%m_%d`.gz
411
rsync -a /srv/redmine/files /path/
412
</code></pre>
413
414 86 Patrice Nadeau
Script un peu plus évolué :
415 5 Patrice Nadeau
<pre> <code class="bash">
416 42 Patrice Nadeau
417 5 Patrice Nadeau
#!/bin/bash
418
#
419
# backup_redmine.sh
420
# Backup of a Redmine setup
421 1 Patrice Nadeau
# Last Changes: 2013-02-23
422 40 Patrice Nadeau
# Maintainer: Patrice Nadeau  <pnadeau@patricenadeau.com>
423 5 Patrice Nadeau
424
# TODO Verify the results (folder exist, enough disk pace , etc..)
425
426
## The only variable needed to be changed
427
# Directory of the Redmine install
428
declare -r RAIL_ROOT='/srv/redmine'
429
# MySQL database
430
declare -r MYSQL_DB=''
431
# MySQL username for the Redemine db
432
declare -r MYSQL_USER=''
433
# MySQL password for the Redemine db
434
declare -r MYSQL_PASSWORD=''
435
# Directory for the backup (must exist and with no space in the name)
436
declare -r DIR='/root'
437
## end
438
439
# Exit level
440
declare -ir EXIT_OK=0
441
declare -ir EXIT_WARNING=1
442
declare -ir EXIT_ERROR=2
443
444
declare -i STATUS=$EXIT_OK
445
446
# The directory inside the archive 
447
declare -r REDMINE='redmine'
448
TMP_DIR=$DIR/$REDMINE
449
450
# This will be used for the archive file 
451
declare -r DST=$DIR/redmine_$(date +%Y%m%d_%H%M%S).tar.gz
452
453
# The temporary sql file
454
declare -r TMP_MYSQL=$TMP_DIR/$MYSQL_DB.mysql
455
456
echo "Backup in progress in $DST"
457
458
#### Create the temp directory ####
459
mkdir $TMP_DIR
460
461
#### backup MySQL ####
462
if [ $STATUS -eq $EXIT_OK ] 
463
then
464
	STEP='Creating MySQL backup'
465
	mysqldump --user=$MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DB \
466
		> $TMP_MYSQL
467
	STATUS=$?
468
fi
469
470
#### backup the Redmine folder ####
471
if [ $STATUS -eq $EXIT_OK ] 
472
then
473
	STEP='Creating Redmine'"'"' files backup'
474
	cp --recursive $RAIL_ROOT $TMP_DIR
475
	STATUS=$?
476
fi
477
478
#### create the archive file ####
479
if [ $STATUS -eq $EXIT_OK ] 
480
then
481
	STEP="Creating archive"
482
	tar --create --gzip --file $DST --directory=$DIR $REDMINE
483
	STATUS=$?
484
fi
485
486
#### cleanup ####
487
if [ $STATUS -eq $EXIT_OK ] 
488
then
489
	STEP='Cleaning up'
490
	rm --recursive --force $TMP_DIR
491
	STATUS=$?
492
fi
493
494
#### exit ####
495
if [ $STATUS -eq $EXIT_OK ] 
496
then
497
	echo "Backup done"
498
else
499
	echo "Bakup failed with error code $STATUS in step $STEP"
500
fi
501
502
503
exit $STATUS
504
505
</code></pre>
506 39 Patrice Nadeau
507
h1. Dépannage
508
509
h2. Mot de passe perdu
510
511
Le mot de passe admin par défaut est en _hash Sha1_ : *da3174755c5e82a436b6c7ff87c873ee50d6654b* et est *admin.*
512
513 89 Patrice Nadeau
h2. Le service tombe « DEAD » à chaque fois (webrick)
514 39 Patrice Nadeau
515
Effacer le fichier _/srv/redmine/tmp/pids/server.pid_.