Projet

Général

Profil

Wiki » Historique » Version 131

Patrice Nadeau, 2015-02-15 10:32

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 121 Patrice Nadeau
{{lastupdated_at}} {{lastupdated_by}}
16
17 94 Patrice Nadeau
---
18 31 Patrice Nadeau
19 94 Patrice Nadeau
{{toc}}
20
21
h2. Installation
22
23 32 Patrice Nadeau
Ce guide documente une installation GNU/Linux avec les version suivantes :
24
* openSUSE 13.1
25 112 Patrice Nadeau
* Redmine 2.6.1
26 32 Patrice Nadeau
27 94 Patrice Nadeau
h3. Prérequis
28 1 Patrice Nadeau
29
Un serveur *LAMP(Linux, Apache, MySQL, PHP)* [[guides_opensuse:|openSUSE]] *fonctionnel*.
30 56 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 94 Patrice Nadeau
h3. MySQL
38 32 Patrice Nadeau
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 1 Patrice Nadeau
Commandes MySQL :
51 32 Patrice Nadeau
<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 94 Patrice Nadeau
h3. 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 1 Patrice Nadeau
mkdir public/plugin_assets
69 33 Patrice Nadeau
</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 1 Patrice Nadeau
78 94 Patrice Nadeau
h3. Ruby
79 33 Patrice Nadeau
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
88 94 Patrice Nadeau
h3. Initialisation
89 1 Patrice Nadeau
90 34 Patrice Nadeau
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 94 Patrice Nadeau
h3. Serveur web
99 69 Patrice Nadeau
100 70 Patrice Nadeau
Redmine peux être utiliser avec le serveur inclus _webrick_ (port 3000) ou _Apache_ (port 80).
101 1 Patrice Nadeau
102 94 Patrice Nadeau
h4. Webrick
103 69 Patrice Nadeau
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 94 Patrice Nadeau
h5. 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 1 Patrice Nadeau
Copier le script dans le fichier */etc/init.d/redmine*
119 35 Patrice Nadeau
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 1 Patrice Nadeau
133 94 Patrice Nadeau
h4. 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 94 Patrice Nadeau
h3. Modules Apache
149 1 Patrice Nadeau
150 46 Patrice Nadeau
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 94 Patrice Nadeau
h3. Modules _Passenger_
167 1 Patrice Nadeau
168 46 Patrice Nadeau
<pre><code class="bash">
169 45 Patrice Nadeau
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 124 Patrice Nadeau
chmod 0666 log/production.log
177 90 Patrice Nadeau
</code></pre>
178
179 93 Patrice Nadeau
Créer le dossier des fichiers temporaire
180 103 Patrice Nadeau
> 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 93 Patrice Nadeau
<pre><code class="bash">
182 125 Patrice Nadeau
mkdir tmp/passenger
183 93 Patrice Nadeau
</code></pre>
184
185 94 Patrice Nadeau
h3. Activation de la configuration
186 46 Patrice Nadeau
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 1 Patrice Nadeau
196 45 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 1 Patrice Nadeau
systemctl reload apache2
212 65 Patrice Nadeau
</code></pre>
213 45 Patrice Nadeau
214 94 Patrice Nadeau
h2. Post-installation
215 68 Patrice Nadeau
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 102 Patrice Nadeau
chown -R wwwrun:www tmp
230 105 Patrice Nadeau
# Pour la macro "thumbnails" du wiki, le plugin "redmine_people" nécessite au moins 0775
231
chmod -R 0777 tmp/thumbnails
232 80 Patrice Nadeau
</code></pre>
233 1 Patrice Nadeau
234 94 Patrice Nadeau
h2. Personnalisation
235 29 Patrice Nadeau
236 94 Patrice Nadeau
h3. Ajout d’un logo
237 36 Patrice Nadeau
238
Les informations viennent de : http://www.redmine.org/projects/redmine/wiki/Howto_add_a_logo_to_your_Redmine_banner
239
240
Copier le logo dans _/srv/redmine/public/images/logo.png_
241 1 Patrice Nadeau
242 37 Patrice Nadeau
Modifier le fichier _/srv/redmine/app/views/layout/base.rhtml.erb_
243
* Ajouter la ligne 
244 1 Patrice Nadeau
<pre><code class="ruby">
245 37 Patrice Nadeau
<img src="<%= Redmine::Utils.relative_url_root %>/images/logo.png" style="top-margin: 15px; left-margin: 15px;"/>
246
</code></pre>
247
* Si on ne veux plus afficher le titre, mettre en commentaire :
248 1 Patrice Nadeau
<pre><code class="ruby">
249 37 Patrice Nadeau
<!--<h1><%= page_header_title %></h1>-->
250
</code></pre>
251
252
Redémarrer Redmine
253 72 Patrice Nadeau
254 36 Patrice Nadeau
255 94 Patrice Nadeau
h3. Plugins
256 1 Patrice Nadeau
257 94 Patrice Nadeau
h4. Extended Fields
258 38 Patrice Nadeau
259
Permet de créer de nouveau champ dans la basse de donnés.
260
261
http://www.redmine.org/plugins/extended_fields
262
263
Installation : 
264
<pre><code class="bash">
265
cd /srv/redmine
266 1 Patrice Nadeau
svn co http://svn.s-andy.com/extended-fields plugins/extended_fields
267 38 Patrice Nadeau
rake redmine:plugins:migrate RAILS_ENV=production
268
</code></pre>
269 73 Patrice Nadeau
270 38 Patrice Nadeau
Relancer Redmine
271 4 Patrice Nadeau
272 94 Patrice Nadeau
h4. Redmine Rouge
273 1 Patrice Nadeau
274 4 Patrice Nadeau
Permet le support de langage supplémentaire pour l'affichage de la syntaxe d'un code source.
275 13 Patrice Nadeau
276 1 Patrice Nadeau
"Langage supporté":http://rouge.jayferd.us/demo
277
278
https://github.com/ngyuki/redmine_rouge
279
280
<pre>
281
<code class="bash">
282
cd /srv/redmine/plugins
283
git clone https://github.com/ngyuki/redmine_rouge.git
284
cd ..
285
bundle install
286
</code>
287 74 Patrice Nadeau
</pre>
288
289
Relancer redmine
290 5 Patrice Nadeau
291 94 Patrice Nadeau
h4. Code Highlight
292 9 Patrice Nadeau
293 10 Patrice Nadeau
http://www.redmine.org/plugins/codehightlight_button
294 9 Patrice Nadeau
295
Bouton permettant de sélectionner du code et d'activer la syntaxe selon un langage.
296
297 1 Patrice Nadeau
Installation
298
<pre><code class="bash">
299 10 Patrice Nadeau
cd /srv/redmine/plugins
300
git clone https://github.com/mediatainment/redmine_codebutton.git
301
cd ..
302
rake redmine:plugins
303 9 Patrice Nadeau
rake redmine:plugins:migrate RAILS_ENV=production
304 10 Patrice Nadeau
# Relancer Redmine
305 1 Patrice Nadeau
rcredmine restart
306 95 Patrice Nadeau
</code></pre>
307
308
Ajout des langages supplémentaires supportées par le « plug-in » _Redmine Rouge_. Voir "ici":https://github.com/mediatainment/redmine_codebutton/issues/2
309 96 Patrice Nadeau
Éditer le fichier */srv/redmine/plugins/redmine_codebutton/assets/javascripts/wiki-codehighlight.js*
310 95 Patrice Nadeau
* Ajouter les langages voulus dans la variable *codeRayLanguages*
311
312
Relancer Apache
313
<pre><code class="bash">
314
systemctl reload apache2.service
315 1 Patrice Nadeau
</code></pre>
316
317 94 Patrice Nadeau
h4. Redmine Issue Checklist
318 23 Patrice Nadeau
319 1 Patrice Nadeau
Extends issues to store checklist items
320 11 Patrice Nadeau
321
http://redminecrm.com/projects/checklist
322
323
Installation
324
<pre><code class="bash">
325
cd /srv/redmine/plugins
326
wget http://redminecrm.com/license_manager/4200/redmine_issue_checklist-2_0_5.zip
327
unzip redmine_issue_checklist-2_0_5.zip
328
bundle exec rake redmine:plugins NAME=redmine_issue_checklist RAILS_ENV=production
329 1 Patrice Nadeau
</code></pre>
330 84 Patrice Nadeau
331
Relancer Redmine
332 11 Patrice Nadeau
333
Configuration
334
Dans *Administration*
335 1 Patrice Nadeau
* *Plugins*
336 11 Patrice Nadeau
** Choisir les options voulues
337
* *Roles and permissions*
338
** Choisir le rôle
339
Donner les droits voulus sur :
340
*** Done checklist items 
341
*** Edit checklist items 
342 14 Patrice Nadeau
*** View checklist
343 1 Patrice Nadeau
344 94 Patrice Nadeau
h4. Redmine People
345 24 Patrice Nadeau
346 29 Patrice Nadeau
> A faire
347 24 Patrice Nadeau
348 97 Patrice Nadeau
h4. Like Button
349
350
Bouton pour Facebook, Google+ et Twitter
351
352 98 Patrice Nadeau
http://www.redmine.org/plugins/like
353 97 Patrice Nadeau
354 98 Patrice Nadeau
Installation
355 1 Patrice Nadeau
356 98 Patrice Nadeau
<pre><code class="bash">
357
cd /srv/redmine/plugins
358
svn svn co http://svn.s-andy.com/like-button like
359
</code></pre>
360 100 Patrice Nadeau
361 98 Patrice Nadeau
Relancer Redmine
362 97 Patrice Nadeau
363 113 Patrice Nadeau
h4. Wiki Extensions
364
365 122 Patrice Nadeau
Ajoute des macros au Wiki de Redmine
366 115 Patrice Nadeau
> La dernière version est disponible à https://bitbucket.org/haru_iida/redmine_wiki_extensions/downloads
367 114 Patrice Nadeau
368 118 Patrice Nadeau
Parmi les macros ajoutées:
369 122 Patrice Nadeau
>Liste complète à http://www.r-labs.org/projects/r-labs/wiki/Wiki_Extensions_en
370 119 Patrice Nadeau
* Emoticons : Un bouton apparait pour ajouter des « smilley » qui seront afficher en graphique
371 118 Patrice Nadeau
* !{{lastupdated_by}} : affiche le nom de la dernière personne à avoir modifier la page
372 128 Patrice Nadeau
* !{{lastupdated_at}} : affiche la date de la dernière modification de la page
373 118 Patrice Nadeau
374 130 Patrice Nadeau
Étapes :
375
# Installation sur le serveur :
376 113 Patrice Nadeau
<pre><code class="bash">
377 1 Patrice Nadeau
cd /srv/redmine/
378 114 Patrice Nadeau
wget https://bitbucket.org/haru_iida/redmine_wiki_extensions/downloads/redmine_wiki_extensions-0.6.5.zip
379
unzip redmine_wiki_extensions-0.6.5.zip -d plugins/
380 116 Patrice Nadeau
rake db:migrate_plugins RAILS_ENV=production
381 1 Patrice Nadeau
systemctl reload apache2.service
382 129 Patrice Nadeau
</code></pre>
383 130 Patrice Nadeau
# Activer le module dans le ou les projets voulus 
384 131 Patrice Nadeau
# C'est tout 
385
386
:)
387 99 Patrice Nadeau
388 94 Patrice Nadeau
h4. WikiNG
389 1 Patrice Nadeau
390 20 Patrice Nadeau
Personnalisation des items dans le wiki.
391 28 Patrice Nadeau
Ajoute des boutons et des icônes comme FIXME et TODO.
392 29 Patrice Nadeau
> « Écrase » le bouton installé par _Code Highlight_
393 21 Patrice Nadeau
394
Installation
395 27 Patrice Nadeau
<pre><code class="bash">
396 26 Patrice Nadeau
cd /srv/redmine
397
wget http://projects.andriylesyuk.com/attachments/download/564/wiking-1.0.0b.tar.bz2
398
tar xvf wiking-1.0.0b.tar.bz2
399
mv wiking plugins
400
rake redmine:plugins:migrate RAILS_ENV=production
401 1 Patrice Nadeau
</code></pre>
402 85 Patrice Nadeau
403
Relancer Redmine
404
405 94 Patrice Nadeau
h2. Mise à jour
406 1 Patrice Nadeau
407 107 Patrice Nadeau
> Version 2.6.1
408 101 Patrice Nadeau
409 9 Patrice Nadeau
S’assurer d'avoir les dernières versions des plugins.
410 1 Patrice Nadeau
411 101 Patrice Nadeau
Disponible à http://www.redmine.org/projects/redmine/wiki/Download 
412 1 Patrice Nadeau
413 101 Patrice Nadeau
Mise à jour de Redmine à partir d'une version stable
414
> http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade
415 1 Patrice Nadeau
416 106 Patrice Nadeau
# Arrêter Redmine
417
# Renommer le répertoire actuel
418 1 Patrice Nadeau
<pre><code class="bash">
419 101 Patrice Nadeau
cd /srv/
420 106 Patrice Nadeau
mv redmine redmine.old
421 1 Patrice Nadeau
</code></pre>
422 106 Patrice Nadeau
# Télécharger la nouvelle version
423 1 Patrice Nadeau
<pre><code class="bash">
424 107 Patrice Nadeau
wget http://www.redmine.org/releases/redmine-2.6.1.tar.gz
425 1 Patrice Nadeau
</code></pre>
426 101 Patrice Nadeau
# Décompresser le fichier
427 1 Patrice Nadeau
<pre><code class="bash">
428 107 Patrice Nadeau
tar xvf redmine-2.6.1.tar.gz
429
mv redmine-2.6.1 redmine
430 41 Patrice Nadeau
</code></pre>
431 101 Patrice Nadeau
# Copier les anciens fichiers de configurations
432 41 Patrice Nadeau
<pre><code class="bash">
433 101 Patrice Nadeau
cp redmine.old/config/configuration.yml redmine/config
434 108 Patrice Nadeau
cp redmine.old/config/database.yml redmine/config
435
cp -r redmine.old/files redmine
436 1 Patrice Nadeau
# Les commandes suivantes sont nécessaire seulement si Apache est utilisé
437 127 Patrice Nadeau
# Le meme ownaer que config.ru doit etre utiliser pour plusieurs dossier
438 126 Patrice Nadeau
chown wwwrun:www redmine/config.ru
439 127 Patrice Nadeau
chown -R wwwrun:www redmine/tmp
440 108 Patrice Nadeau
mkdir redmine/tmp/passenger
441
chown -R wwwrun:www redmine/tmp
442
chmod 0777 redmine/public/plugin_assets
443
chmod 0777 redmine/files
444 101 Patrice Nadeau
</code></pre>
445
# Ne copier que les « plugins » qui ne sont pas fournis par la nouvelle version de Redmine
446 1 Patrice Nadeau
<pre><code class="bash">
447 110 Patrice Nadeau
cp -r redmine/plugins/* redmine/plugins
448 101 Patrice Nadeau
</code></pre>
449
# Installer les « gems »
450
<pre><code class="bash">
451 87 Patrice Nadeau
bundle install --without development test
452
</code></pre>
453 101 Patrice Nadeau
# Mise à jour (base de donnés, « plugins ») et ménage :
454 94 Patrice Nadeau
<pre><code class="bash">
455 111 Patrice Nadeau
cd redmine
456 1 Patrice Nadeau
bundle exec rake generate_secret_token
457 111 Patrice Nadeau
bundle exec rake db:migrate RAILS_ENV=production
458
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
459 101 Patrice Nadeau
bundle exec rake tmp:cache:clear tmp:sessions:clear
460 40 Patrice Nadeau
</code></pre>
461 101 Patrice Nadeau
# Relancer Redmine 
462
# Vérifier dans « Admin -> Roles & permissions » les permissions.
463 40 Patrice Nadeau
464
h2. Copie de sécurité
465
466
Remplacer les items suivants :
467
* *username* : Usager de la base de donnés.
468 86 Patrice Nadeau
* *password* : Mot de passe de la base de donnés.
469 5 Patrice Nadeau
* *database* : Nom de la base de données.
470 42 Patrice Nadeau
* *path* : Emplacement pour recevoir le fichier.
471 5 Patrice Nadeau
472
<pre><code class="bash">
473
/usr/bin/mysqldump -u username -p password database | gzip > /path/redmine_`date +%y_%m_%d`.gz
474
rsync -a /srv/redmine/files /path/
475 1 Patrice Nadeau
</code></pre>
476 40 Patrice Nadeau
477 5 Patrice Nadeau
Script un peu plus évolué :
478
<pre> <code class="bash">
479
480
#!/bin/bash
481
#
482
# backup_redmine.sh
483
# Backup of a Redmine setup
484
# Last Changes: 2013-02-23
485
# Maintainer: Patrice Nadeau  <pnadeau@patricenadeau.com>
486
487
# TODO Verify the results (folder exist, enough disk pace , etc..)
488
489
## The only variable needed to be changed
490
# Directory of the Redmine install
491
declare -r RAIL_ROOT='/srv/redmine'
492
# MySQL database
493
declare -r MYSQL_DB=''
494
# MySQL username for the Redemine db
495
declare -r MYSQL_USER=''
496
# MySQL password for the Redemine db
497
declare -r MYSQL_PASSWORD=''
498
# Directory for the backup (must exist and with no space in the name)
499
declare -r DIR='/root'
500
## end
501
502
# Exit level
503
declare -ir EXIT_OK=0
504
declare -ir EXIT_WARNING=1
505
declare -ir EXIT_ERROR=2
506
507
declare -i STATUS=$EXIT_OK
508
509
# The directory inside the archive 
510
declare -r REDMINE='redmine'
511
TMP_DIR=$DIR/$REDMINE
512
513
# This will be used for the archive file 
514
declare -r DST=$DIR/redmine_$(date +%Y%m%d_%H%M%S).tar.gz
515
516
# The temporary sql file
517
declare -r TMP_MYSQL=$TMP_DIR/$MYSQL_DB.mysql
518
519
echo "Backup in progress in $DST"
520
521
#### Create the temp directory ####
522
mkdir $TMP_DIR
523
524
#### backup MySQL ####
525
if [ $STATUS -eq $EXIT_OK ] 
526
then
527
	STEP='Creating MySQL backup'
528
	mysqldump --user=$MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DB \
529 1 Patrice Nadeau
		> $TMP_MYSQL
530 5 Patrice Nadeau
	STATUS=$?
531 1 Patrice Nadeau
fi
532 5 Patrice Nadeau
533 1 Patrice Nadeau
#### backup the Redmine folder ####
534 5 Patrice Nadeau
if [ $STATUS -eq $EXIT_OK ] 
535
then
536
	STEP='Creating Redmine'"'"' files backup'
537
	cp --recursive $RAIL_ROOT $TMP_DIR
538
	STATUS=$?
539
fi
540
541
#### create the archive file ####
542
if [ $STATUS -eq $EXIT_OK ] 
543
then
544
	STEP="Creating archive"
545
	tar --create --gzip --file $DST --directory=$DIR $REDMINE
546
	STATUS=$?
547
fi
548
549
#### cleanup ####
550
if [ $STATUS -eq $EXIT_OK ] 
551
then
552
	STEP='Cleaning up'
553
	rm --recursive --force $TMP_DIR
554
	STATUS=$?
555
fi
556
557
#### exit ####
558
if [ $STATUS -eq $EXIT_OK ] 
559
then
560 39 Patrice Nadeau
	echo "Backup done"
561 94 Patrice Nadeau
else
562 39 Patrice Nadeau
	echo "Bakup failed with error code $STATUS in step $STEP"
563 94 Patrice Nadeau
fi
564 39 Patrice Nadeau
565
566
exit $STATUS
567 94 Patrice Nadeau
568 39 Patrice Nadeau
</code></pre>
569
570 1 Patrice Nadeau
h2. Dépannage
571
572
h3. Mot de passe perdu
573
574
Le mot de passe admin par défaut est en _hash Sha1_ : *da3174755c5e82a436b6c7ff87c873ee50d6654b* et est *admin.*
575
576
h3. Le service tombe « DEAD » à chaque fois (webrick)
577
578
Effacer le fichier _/srv/redmine/tmp/pids/server.pid_.