Projet

Général

Profil

Wiki » Historique » Version 90

Patrice Nadeau, 2014-10-13 10:33

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