Projet

Général

Profil

Wiki » Historique » Version 100

Patrice Nadeau, 2014-12-14 13:49

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