Projet

Général

Profil

Wiki » Historique » Version 62

Patrice Nadeau, 2014-10-11 10:38

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