Projet

Général

Profil

Wiki » Historique » Version 38

Patrice Nadeau, 2014-08-19 21:03

1 13 Patrice Nadeau
%{font-size:18pt}Redmine%
2
3 30 Patrice Nadeau
> Merge du fichier PDF : issue:#13
4 25 Patrice Nadeau
5 13 Patrice Nadeau
---
6
7 1 Patrice Nadeau
{{toc}}
8
9 13 Patrice Nadeau
h1. Redmine
10 6 Patrice Nadeau
11 31 Patrice Nadeau
Logiciel de gestion de projets, sources, bugs et timeline.
12
Contient un module de Wiki, de fichiers.
13
Supporte aussi les systèmes de version de fichier (Git, SVN entre autre).
14
Disponible à http://www.redmine.org/projects/redmine/wiki/Download
15
16
De base, ne fonctionne pas avec Apache
17
Pour une solution possible, voir : http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Apache_to_run_Redmine
18
19
Sa principale difficulté d’installation et sa dépendance à Ruby. D’où le but de ce guide.
20
Voir aussi :
21
* http://bitnami.com/stack/redmine
22
* http://www.turnkeylinux.org/redmine
23
24 6 Patrice Nadeau
h1. Installation
25
26 32 Patrice Nadeau
Ce guide documente une installation GNU/Linux avec les version suivantes :
27
* openSUSE 13.1
28
* Redmine 2.4.2
29
30 1 Patrice Nadeau
h2. Prérequis
31
32 32 Patrice Nadeau
Un serveur LAMP openSUSE
33
34
Les logiciels suivants :
35
36
* libmysqlclient-devel
37
* mysql-community-server
38
* ruby-2.0
39
* ruby20-devel
40
* rubygem-bundler
41
* rubygem-mysql2
42
* rubygem-pg
43
* ImageMagick
44
* ImageMagick-devel
45
* git
46
* gcc
47
* make
48
49
h2. MySQL
50
51
Ajout au démarrage automatique et démarrage du service :
52
<pre><code class="bash">
53
chkconfig -a mysql
54
rcmysql start
55
</code></pre>
56
57
Création de la base de donnés.
58
Substituer les items suivants à votre choix :
59
* redmine : Usager pour la base de donnés.
60
* password : Mot de passe de la base de donnees.
61
* db : Nom de la base de donnés.
62
63
Lancer MySQL :
64
<pre><code class="bash">
65
mysql -u root -p
66
</code></pre>
67
68
Commandes MySQL :
69
<pre><code class="sql">
70
create database db character set utf8;
71
create user 'redmine'@'localhost' identified by 'password';
72
grant all privileges on db.* to 'redmine'@'localhost';
73
commit;
74
quit;
75
</code></pre>
76
77 33 Patrice Nadeau
h2. Redmine
78 13 Patrice Nadeau
79 33 Patrice Nadeau
L’installation sera faite dans _\srv\redmine_
80
<pre><code class="bash">
81
cd /srv/
82
svn co http://svn.redmine.org/redmine/branches/2.4-stable redmine
83
cd redmine
84
cp config/database.yml.example config/database.yml
85
cp config/configuration.yml.example config/configuration.yml
86
mkdir public/plugin_assets
87
</code></pre>
88
89
Si un usager MySQL autre que _root_ ou mot de passe diffèrent est utilisé :
90
Éditer le fichier *config/database.yml*, section *Production* et modifier les lignes :
91
* *username*
92
* *password*
93
94
Éditer le fichier _config/configuration.yml_ et modifier la configuration SMTP.
95
96
h2. Ruby
97
98 34 Patrice Nadeau
Installation des gems de Ruby
99 1 Patrice Nadeau
<pre><code class="bash">
100 34 Patrice Nadeau
cd redmine
101
gem install bundler
102
gem install activerecord-mysql2-adapter
103
bundle install --without development test
104 1 Patrice Nadeau
</code></pre>
105 34 Patrice Nadeau
106
h2. Initialisation
107
108
Création de la cryptographie, de la structure et des donnés de base :
109
<pre><code class="bash">
110
cd /srv/redmine
111
rake generate_secret_token
112
RAILS_ENV=production rake db:migrate
113
RAILS_ENV=production rake redmine:load_default_data
114
</code></pre>
115
116
Ouvrir dans le pare-feu :
117
* TCP : 3000
118
119
Lancer le serveur web (test)
120
<pre><code class="bash">
121
cd /srv/redmine
122
ruby script/rails server webrick -e production
123
</code></pre>
124
125
A partir d’un navigateur web, se brancher à http://server:3000.
126
Utiliser l’usager *admin* avec le mot de passe *admin*.
127
Vérifier la configuration dans *Administration*, *Information*.
128 16 Patrice Nadeau
129 35 Patrice Nadeau
h2. Transformation en daemon
130
131
Le script original vient de http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_openSUSE
132
Copier le script dans le fichier */etc/init.d/redmine*
133
134
Le modifier de la manière suivante :
135
* REDMINE_BIN=/srv/redmine/current/script/rails
136
* REDMINE_USER=user
137
* Corriger le «typo» à la ligne 73 : $REDMI-NE_BIN -> $REDMINE_BIN
138
* Dans la section stop, après la ligne killproc, ajouter *rm $PIDFILE*
139
140
Rendre le fichier exécutable, l’ajouter aux services SUSE et l’exécuter au démarrage :
141
<pre><code class="bash">
142
chmod 0755 /etc/init.d/redmine
143
cp -s /etc/init.d/redmine /usr/bin/rcredmine
144
chkconfig -a redmine
145
</code></pre>
146
147 29 Patrice Nadeau
h1. Personnalisation
148 8 Patrice Nadeau
149 36 Patrice Nadeau
h2. Ajout d’un logo
150
151
Les informations viennent de : http://www.redmine.org/projects/redmine/wiki/Howto_add_a_logo_to_your_Redmine_banner
152
153
Copier le logo dans _/srv/redmine/public/images/logo.png_
154 1 Patrice Nadeau
155 37 Patrice Nadeau
Modifier le fichier _/srv/redmine/app/views/layout/base.rhtml.erb_
156
* Ajouter la ligne 
157 1 Patrice Nadeau
<pre><code class="ruby">
158 37 Patrice Nadeau
<img src="<%= Redmine::Utils.relative_url_root %>/images/logo.png" style="top-margin: 15px; left-margin: 15px;"/>
159
</code></pre>
160
* Si on ne veux plus afficher le titre, mettre en commentaire :
161
<pre><code class="ruby">
162 1 Patrice Nadeau
<!--<h1><%= page_header_title %></h1>-->
163 37 Patrice Nadeau
</code></pre>
164
165
Redémarrer Redmine
166
<pre><code class="bash">
167
rcredmine restart
168 36 Patrice Nadeau
</code></pre>
169
170 1 Patrice Nadeau
h2. Plugins
171
172 38 Patrice Nadeau
h3. Extended Fields
173
174
Permet de créer de nouveau champ dans la basse de donnés.
175
176
http://www.redmine.org/plugins/extended_fields
177
178
Installation : 
179
<pre><code class="bash">
180
cd /srv/redmine
181
svn co http://svn.s-andy.com/extended-fields plugins/extended_fields
182
rake redmine:plugins:migrate RAILS_ENV=production
183
rcredmine restart
184
</code></pre>
185
186 4 Patrice Nadeau
h3. Redmine Rouge
187 12 Patrice Nadeau
188 1 Patrice Nadeau
Permet le support de langage supplémentaire pour l'affichage de la syntaxe d'un code source.
189 4 Patrice Nadeau
190 13 Patrice Nadeau
"Langage supporté":http://rouge.jayferd.us/demo
191 1 Patrice Nadeau
192
https://github.com/ngyuki/redmine_rouge
193
194
<pre>
195
<code class="bash">
196
cd /srv/redmine/plugins
197
git clone https://github.com/ngyuki/redmine_rouge.git
198
cd ..
199
bundle install
200 2 Patrice Nadeau
# Relancer redmine
201
rcredmine restart
202 1 Patrice Nadeau
</code>
203
</pre>
204 5 Patrice Nadeau
205 22 Patrice Nadeau
h3. Code Highlight
206 9 Patrice Nadeau
207 10 Patrice Nadeau
http://www.redmine.org/plugins/codehightlight_button
208 9 Patrice Nadeau
209
Bouton permettant de sélectionner du code et d'activer la syntaxe selon un langage.
210 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
211 9 Patrice Nadeau
212 1 Patrice Nadeau
Installation
213
<pre><code class="bash">
214 10 Patrice Nadeau
cd /srv/redmine/plugins
215
git clone https://github.com/mediatainment/redmine_codebutton.git
216
cd ..
217
rake redmine:plugins
218 9 Patrice Nadeau
rake redmine:plugins:migrate RAILS_ENV=production
219 10 Patrice Nadeau
# Relancer Redmine
220 1 Patrice Nadeau
rcredmine restart
221
</code></pre>
222 11 Patrice Nadeau
223 23 Patrice Nadeau
h3. Redmine Issue Checklist
224 11 Patrice Nadeau
225
Extends issues to store checklist items
226
227
http://redminecrm.com/projects/checklist
228
229
Installation
230
<pre><code class="bash">
231
cd /srv/redmine/plugins
232
wget http://redminecrm.com/license_manager/4200/redmine_issue_checklist-2_0_5.zip
233
unzip redmine_issue_checklist-2_0_5.zip
234
bundle exec rake redmine:plugins NAME=redmine_issue_checklist RAILS_ENV=production
235
# Relancer Redmine
236
rcredmine restart
237
</code></pre>
238
239
Configuration
240
Dans *Administration*
241
* *Plugins*
242
** Choisir les options voulues
243
* *Roles and permissions*
244
** Choisir le rôle
245
Donner les droits voulus sur :
246
*** Done checklist items 
247
*** Edit checklist items 
248 14 Patrice Nadeau
*** View checklist
249 1 Patrice Nadeau
250 24 Patrice Nadeau
h3. Redmine People
251
252 29 Patrice Nadeau
> A faire
253 24 Patrice Nadeau
254 20 Patrice Nadeau
h3. WikiNG
255 1 Patrice Nadeau
256 20 Patrice Nadeau
Personnalisation des items dans le wiki.
257 28 Patrice Nadeau
Ajoute des boutons et des icônes comme FIXME et TODO.
258 29 Patrice Nadeau
> « Écrase » le bouton installé par _Code Highlight_
259 21 Patrice Nadeau
260
Installation
261 27 Patrice Nadeau
<pre><code class="bash">
262 26 Patrice Nadeau
cd /srv/redmine
263
wget http://projects.andriylesyuk.com/attachments/download/564/wiking-1.0.0b.tar.bz2
264
tar xvf wiking-1.0.0b.tar.bz2
265
mv wiking plugins
266
rake redmine:plugins:migrate RAILS_ENV=production
267
# restart Redmine
268
rcredmine restart
269
</code></pre>
270 20 Patrice Nadeau
271 14 Patrice Nadeau
h1. Mise à jour
272 1 Patrice Nadeau
273 14 Patrice Nadeau
S’assurer d'avoir les dernières versions des plugins.
274 9 Patrice Nadeau
275 14 Patrice Nadeau
h1. Copie de sécurité
276 5 Patrice Nadeau
277
<pre> <code class="bash">
278
#!/bin/bash
279
#
280
# backup_redmine.sh
281
# Backup of a Redmine setup
282
# Last Changes: 2013-02-23
283
# Maintainer: Patrice Nadeau  <patricen@telwarwick.net>
284
285
# TODO Verify the results (folder exist, enough disk pace , etc..)
286
287
## The only variable needed to be changed
288
# Directory of the Redmine install
289
declare -r RAIL_ROOT='/srv/redmine'
290
# MySQL database
291
declare -r MYSQL_DB=''
292
# MySQL username for the Redemine db
293
declare -r MYSQL_USER=''
294
# MySQL password for the Redemine db
295
declare -r MYSQL_PASSWORD=''
296
# Directory for the backup (must exist and with no space in the name)
297
declare -r DIR='/root'
298
## end
299
300
# Exit level
301
declare -ir EXIT_OK=0
302
declare -ir EXIT_WARNING=1
303
declare -ir EXIT_ERROR=2
304
305
declare -i STATUS=$EXIT_OK
306
307
# The directory inside the archive 
308
declare -r REDMINE='redmine'
309
TMP_DIR=$DIR/$REDMINE
310
311
# This will be used for the archive file 
312
declare -r DST=$DIR/redmine_$(date +%Y%m%d_%H%M%S).tar.gz
313
314
# The temporary sql file
315
declare -r TMP_MYSQL=$TMP_DIR/$MYSQL_DB.mysql
316
317
echo "Backup in progress in $DST"
318
319
#### Create the temp directory ####
320
mkdir $TMP_DIR
321
322
#### backup MySQL ####
323
if [ $STATUS -eq $EXIT_OK ] 
324
then
325
	STEP='Creating MySQL backup'
326
	mysqldump --user=$MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DB \
327
		> $TMP_MYSQL
328
	STATUS=$?
329
fi
330
331
#### backup the Redmine folder ####
332
if [ $STATUS -eq $EXIT_OK ] 
333
then
334
	STEP='Creating Redmine'"'"' files backup'
335
	cp --recursive $RAIL_ROOT $TMP_DIR
336
	STATUS=$?
337
fi
338
339
#### create the archive file ####
340
if [ $STATUS -eq $EXIT_OK ] 
341
then
342
	STEP="Creating archive"
343
	tar --create --gzip --file $DST --directory=$DIR $REDMINE
344
	STATUS=$?
345
fi
346
347
#### cleanup ####
348
if [ $STATUS -eq $EXIT_OK ] 
349
then
350
	STEP='Cleaning up'
351
	rm --recursive --force $TMP_DIR
352
	STATUS=$?
353
fi
354
355
#### exit ####
356
if [ $STATUS -eq $EXIT_OK ] 
357
then
358
	echo "Backup done"
359
else
360
	echo "Bakup failed with error code $STATUS in step $STEP"
361
fi
362
363
364
exit $STATUS
365
366
</code></pre>