Project

General

Profile

DeRedmineInstall » History » Version 21

Robert Schneider, 2015-06-16 16:54

1 1 Robert Schneider
{{>toc}}
2 14 Robert Schneider
3 20 Robert Schneider
Übersetzung von "Rev. 246":http://www.redmine.org/projects/redmine/wiki/RedmineInstall/246
4 14 Robert Schneider
5
h1. Installation von Redmine
6 1 Robert Schneider
7 2 Robert Schneider
Dies ist die Installationsanleitung für Redmine 1.4.0 und höher. Die Anleitung für 1.3.x findet sich "hier":/projects/redmine/wiki/RedmineInstall?version=146.
8
9
h2. Anforderungen
10
11
h3. Betriebssystem
12
13
Redmine sollte auf den meisten Unix-, Linux-, [[RedmineInstallOSX|Mac]]-, [[RedmineInstallOSXServer|Mac Server]]- und [[RedmineInstall#Notes-on-Windows-installation|Windows]]-Systemen laufen, sofern Ruby auf diesem System vorhanden ist. Weitere spezielle Installationsanleitungen finden sich  [[HowTos|hier]].
14
15
h3. Ruby-Interpreter
16
17
Die erforderliche Ruby-Version für die Redmine-Versionen sind:
18
19
|_. Redmine-Version|_. Unterstützte Ruby-Versionen                                |_. Verwendete Rails-Version|
20
|Aktueller Trunk     |ruby 1.9.3[3], 2.0.0[2], 2.1, 2.2[1]                      |Rails 4.2[0]      |
21
|3.0               |ruby 1.9.3[3], 2.0.0[2], 2.1, 2.2[1]                      |Rails 4.2[0]      |
22
|2.6               |ruby 1.8.7[4], 1.9.2, 1.9.3[3], 2.0.0[2], 2.1, jruby-1.7.6|Rails 3.2         |
23
24
*Redmine 2.x unterstützt kein Ruby 2.2* (#19652).
25
26
*Redmine 3.0 unterstützt kein JRuby* weil der activerecord-jdbc-adapter nicht "Rails 4.2":https://github.com/jruby/activerecord-jdbc-adapter/issues/599 unterstützt.
27
28 5 Robert Schneider
fn0. Rails 4.2.1 hat ein Problem mit Non-ASCII-URLs und MinGW-Ruby ("RubyInstaller für Windows":http://rubyinstaller.org/) thin und puma (#19321, #19374)
29 2 Robert Schneider
30
fn1. MinGW-Ruby 2.2 hat ein nokogiri-Problem (#19419).
31
32
fn2. Zum Zeitpunkt des Verfassens dieser Wiki-Seite (3/19/2013) war der SQL Server Support mit Ruby 2.0.0 unter Windows wegen einer "Datenbankadapter/Gem-Inkompatibilität":https://github.com/rails-sqlserver/tiny_tds/issues/110  als defekt gemeldet.
33
34
fn3. MRI 1.9.3p327 enthält "einen Bug":http://bugs.ruby-lang.org/issues/7374, der das Laden der Plugins verhindert - im Gegensatz zu 1.9.3p194 oder 1.9.3p392.
35
36
fn4. Ruby MRI 1.8.7 hat sein Lebenszyklusende erreicht - vom Gebrauch wird daher abgeraten. message#38518 and #14371 liefert dazu weitere Informationen.
37 3 Robert Schneider
38
h3. Unterstützte Datenbanken
39
40
* MySQL 5.0 oder höher
41
** C bindings sollten installiert sein, was die Geschwindigkeit wesentlich erhöht. Sie lassen sich mit @gem install mysql2@ installieren.
42
** Redmine 2.x ist nicht mit MySQL 5.7.3 (#17460) kompatibel. Diese Version wird erst mit Redmine 3.x unterstützt.
43
44
* PostgreSQL 8.2 oder höher
45
** Der Datenstyle der Datenbank sollte auf ISO gesetzt sein (Standardeinstellung bei PorgresSQL). Dies kann mit mit @"redmine_db" SET datestyle="ISO,MDY";@ erreicht werden.
46
** Einige Bugs in PostgreSQL 8.4.0 und 8.4.1 wirken sich auf das Verhalten von Redmine aus (#4259, #4314). Sie wurden jedoch in PostgreSQL 8.4.2 gefixt.
47
48
* Microsoft SQL Server
49
** Redmine 2.x: 2008 oder höher (seit Redmine 2.3.0)
50
** Redmine 3.x: "2012 oder höher":https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v4.2.3/README.md#activerecord-sql-server-adapter-for-sql-server-2012-and-higher
51
52
* SQLite 3 (nicht für den Produktiveinsatz mit mehreren Benutzern gedacht!)
53 4 Robert Schneider
54
h3. Optionale Komponenten
55
56
* SCM-Programme (z.B. @svn@) für das Browsen in Projektarchiven. [[RedmineRepositories]] enthält Informationen zu Kompatibilitäten und Anforderungen.
57
* "ImageMagick":http://www.imagemagick.org/ (um den Gantt-Export zu PNG-Bildern und die Generierung von Vorschaubildern zu ermöglichen).
58
* "Ruby-OpenID-Bibliothek":http://openidenabled.com/ruby-openid/ (um OpenID zu unterstützen). Es wird dazu Version 2 oder höher benötigt.
59 6 Robert Schneider
60
h2. Redmine-Version
61
62
Dem Großteil der Benutzer wird im Allgemeinen empfohlen, die entsprechenden Point-Releases zu installieren. Derzeit veröffentlicht Redmine alle sechs Monate eine neue Version - diese Veröffentlichungen werden als relativ gut einsetzbar und als stabil erachtet. Es wird *nicht* empfohlen Redmine von Trunk zu installieren, außer man ist mit Ruby on Rails sehr vertraut und bleibt mit den Änderungen auf dem letzten Stand - der Trunk-Zweig _kann zuweilen_ auch Fehler enthalten.
63 7 Robert Schneider
64
h2. Ablauf der Installation
65
66
h3. Schritt 1 - Redmine holen
67
68
Der Source-Code von Redmine kann entweder durch das Herunterladen eines gepackten Releases oder durch das Auschecken des Codes geholt werden.
69
70
Mehr Informationen auf der [[Download|Download-Seite]].
71
72
h3. Schritt 2 - Eine leere Datenbank erstellen und einen Benutzer zuweisen
73
74
Nach den folgenden Anweisungen heißt der Datenbankbenutzer von Redmine @redmine@, jedoch kann der Name auch geändert werden.
75
76
h4. MySQL
77
78
<pre><code class="sql">
79
CREATE DATABASE redmine CHARACTER SET utf8;
80
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
81
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
82
</code></pre>
83
84
Für MySQL-Versionen vor 5.0.2 die Anweisung 'CREATE USER' ersetzen durch:
85
86
<pre><code class="sql">
87
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'my_password';
88
</code></pre>
89
90
h4. PostgreSQL
91
92
<pre><code class="sql">
93
CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
94
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
95
</code></pre>
96
97
h4. SQL Server
98
99
Die Datenbank, das Login und der Benutzer können im _SQL Server Management Studio_ mit ein paar Klicks erstellt werden.
100
101
Hier aber auch ein Beispiel auf der der Kommandozeile mit @SQLCMD@:
102
103 8 Robert Schneider
{{collapse(Zeige SQL,Verberge SQL)
104 7 Robert Schneider
<pre><code class="sql">
105
USE [master]
106
GO
107
108 8 Robert Schneider
-- Simples Erzeugen einer DB
109 7 Robert Schneider
CREATE DATABASE [REDMINE]
110
GO
111
112
-- Anlegen eines Logins mit Benutzer/Passwort-Authentifizierung, ohne Ablauf des Passworts
113
CREATE LOGIN [REDMINE] WITH PASSWORD=N'redminepassword', DEFAULT_DATABASE=[REDMINE], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
114
GO
115
116
-- Erzeugung des Benutzers für das zuvor angelegte Login
117
USE [REDMINE]
118
GO
119
CREATE USER [REDMINE] FOR LOGIN [REDMINE]
120
GO
121
122
-- Benutzerberechtigungen mit Rollen
123
EXEC sp_addrolemember N'db_datareader', N'REDMINE'
124
GO
125
EXEC sp_addrolemember N'db_datawriter', N'REDMINE'
126
GO
127
</code></pre>
128
}}
129 9 Robert Schneider
130
h3. Schritt 3 - Konfiguration der Datenbankverbindung
131
132
Um die Datenbankverbindung für den Produktiveinsatz zu konfigurieren wird @config/database.yml.example@ nach @config/database.yml@ kopiert und wie folgt bearbeitet.
133
134
Beispiel für eine MySQL-Datenbank unter Verwendung von Ruby 1.8 oder jRuby:
135
136
<pre><code class="yml">
137
production:
138
  adapter: mysql
139
  database: redmine
140
  host: localhost
141
  username: redmine
142
  password: my_password
143
</code></pre>
144
145
Beispiel für eine MySQL-Datenbank unter Verwendung von Ruby 1.9 (@adapter@ muss auf @mysql2@ gesetzt werden):
146
147
<pre><code class="yml">
148
production:
149
  adapter: mysql2
150
  database: redmine
151
  host: localhost
152
  username: redmine
153
  password: my_password
154
</code></pre>
155
156
Diese Konfiguration ist zu verwenden, falls der Server nicht auf dem Standardport (3306) horcht:
157
158
<pre><code class="yml">
159
production:
160
  adapter: mysql
161
  database: redmine
162
  host: localhost
163
  port: 3307
164
  username: redmine
165
  password: my_password
166
</code></pre>
167
168
Beispiel für eine PostgreSQL-Datenbank (mit dem Standardport):
169
170
<pre><code class="yml">
171
production:
172
  adapter: postgresql
173
  database: <your_database_name>
174
  host: <postgres_host>
175
  username: <postgres_user>
176
  password: <postgres_user_password>
177
  encoding: utf8
178
  schema_search_path: <database_schema> (default - public)
179
</code></pre>
180
181
Beispiel für eine SQL-Server-Datenbank (mit Standard-Host @localhost@ und Standardport 1433):
182
183
<pre><code class="yml">
184
production:
185
  adapter: sqlserver
186
  database: redmine
187
  username: redmine # sollte dem Datenbankbenutzer entsprechen
188
  password: redminepassword # sollte dem Login-Passwort entsprechen
189
</code></pre>
190 10 Robert Schneider
191 13 Robert Schneider
h3. Schritt 4 - Installation der Abhängigkeiten
192 10 Robert Schneider
193
Um die gem-Abhängigkeiten zu verwalten, verwendet Redmine "Bundler":http://gembundler.com/.
194
195
Zuerst muss Bundler installiert werden: 	
196
197
  gem install bundler
198
199
Dann können alle von Redmine benötigten gems mit folgenden Kommando installiert werden:
200
201
  bundle install --without development test
202
203
h4. Optionale Abhängigkeiten
204
205
h5. RMagick 
206
207 11 Robert Schneider
RMagick rrmöglicht die Verwendung von ImageMagick, welches wiederum erlaubt Bilder für die Erzeugung von PDFs und und für den PNG-Export generieren zu lassen.
208 1 Robert Schneider
209 11 Robert Schneider
Falls ImageMagick auf dem System nicht installiert ist, sollte die Installation des RMagick Gem ausgelassen werden:
210
211 1 Robert Schneider
  bundle install --without development test rmagick
212 11 Robert Schneider
213
Falls es bei der Installation von RMagick unter Windows zu Problemen kommt, kann man in diesem [[HowTo_install_rmagick_gem_on_Windows|HowTo]] weitere Informationen finden.
214
215
h5. Datenbankadapter
216
217
Redmine installiert automatisch die Adapter-Gems, die von Datenbankkonfiguration benötigt werden, in dem es die Datei @config/database.yml@ ausliest.
218
219
@bundle install --without development test ...@ ist jedes Mal auszuführen, wenn in der Datei @config/database.yml@ Adapter hinzugefügt oder entfernt worden sind. Dies sollte nicht vergessen werden.
220 12 Robert Schneider
221
h4. Weitere Abhängigkeiten (Gemfile.local)
222
223
Wenn Gems geladen werden müssen, die nicht vom Redmine-Core benötigt werden (z.B. Puma, fcgi), so kann eine Datei @Gemfile.local@ im Root-Verzeichnis des Redmine-Verzeichnisses erstellt werden. Sie wird automatisch geladen, sobald @bundle install@ ausgeführt wird.
224
225
Beispiel:
226
227 15 Robert Schneider
<pre>
228
# Gemfile.local
229
gem 'puma'
230
</pre>
231 12 Robert Schneider
232
h3. Schritt 5 - Erzeugen des Session Store Secrets
233 16 Robert Schneider
234
Dieser Schritt erzeugt einen zufälligen Schlüssel, der von Rails verwendet wird, um Session-Daten zu verschlüsseln, die in einem Cookie gespeichert werden, sodass Manipulationen verhindert werden.
235
236
Das Erzeugen eines neuen Secret Tokens macht nach einem Neustart alle bestehenden Sesssions ungültig.
237
238
* mit Redmine 1.4.x:
239
240
<pre>
241
  bundle exec rake generate_session_store
242
</pre>
243
244
* mit Redmine 2.x
245
246
<pre>
247
bundle exec rake generate_secret_token
248
</pre>
249
250
Alternativ kann das Secret auch in @config/secrets.yml@ gespeichert werden:
251
http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml
252
253
h3. Schritt 6 - Anlegen der Datenbankstruktur und -daten
254
255
Mit dem Ausführen der folgende Anweisung im Root-Verzeichnis von Redmine wird die Datenbankstruktur angelegt:
256
257
  RAILS_ENV=production bundle exec rake db:migrate
258
259
Syntax unter Windows:
260
261
  set RAILS_ENV=production
262
bundle exec rake db:migrate
263
264
Damit werden nacheinander alle Migrationen durchgeführt - was die Tabellen, eine Reihe von Berechtigungen und das Administrator-Konto erzeugt.
265
266
+Problemlösung für Ubuntu+
267
268
Falls unter Ubuntu dieser Fehler entsteht:
269
270
<pre>
271
Rake aborted!
272
no such file to load -- net/https
273
</pre>
274
275
dann ist es erforderlich @libopenssl-ruby1.8@ mittels @apt-get install libopenssl-ruby1.8@ zu installieren.
276
277 17 Robert Schneider
h3. Schritt 7 - Grunddaten in die Datenbank einfügen
278
279
Mit folgender Anweisung werden die Daten der Grundkonfiguration in die Datenbank hinzugefügt:
280
281
  RAILS_ENV=production bundle exec rake redmine:load_default_data
282
283
Redmine fragt dabei nach der Sprache für die Daten, die beim Hinzufügen verwendet werden soll. Das Setzen der Umgebungsvariable @REDMINE_LANG@ vor dem Ausführen der Anweisung ermöglicht hingegen den Silent-Modus, so dass keine Nachfrage mehr stattfindet, da die Sprache nun aus der Variablen gelesen wird.
284
285
Beispiel für unixoide Systeme:
286
287
  RAILS_ENV=production REDMINE_LANG=fr bundle exec rake redmine:load_default_data
288
289
Beispiel für Windows:
290
291
<pre>
292
set RAILS_ENV=production
293
set REDMINE_LANG=fr
294
bundle exec rake redmine:load_default_data
295
</pre>
296 18 Robert Schneider
297
h3. Schritt 8 - Berechtigungen im Dateisystem
298
299
_Hinweis: Windows-Benutzer können diesen Abschnitt überspringen._
300
301
Der Benutzer, mit dem die Anwendung ausgeführt wird, muss die Berechtigung zum Schreiben in folgende Subverzeichnisse haben:
302
303
# @files@ (Speicherort für Anhänge)
304
# @log@ (Log-Datei der Anwendung @production.log@)
305
# @tmp@ and @tmp/pdf@ (Verzeichnisse sind anzulegen, falls sie noch nicht existieren; wird unter anderem auch für das Erstellen von PDFs verwendet)
306
# @public/plugin_assets@ (Assets der Plugins)
307
308
Beispiel - davon ausgehend, die Anwendung wird mit einem Benutzer @redmine@ betrieben:
309
310
<pre>
311
mkdir -p tmp tmp/pdf public/plugin_assets
312
sudo chown -R redmine:redmine files log tmp public/plugin_assets
313
sudo chmod -R 755 files log tmp public/plugin_assets
314
</pre>
315
316
h3. Schritt 9 - Die Installation testen
317
318 19 Robert Schneider
Die Installation kann mit dem Ausführen des WEBrick-Webserver ausprobiert werden:
319 18 Robert Schneider
320
* mit Redmine 1.4.x:
321
322
<pre>bundle exec ruby script/server webrick -e production</pre>
323
324
* mit Redmine 2.x:
325
326
<pre>bundle exec ruby script/rails server webrick -e production</pre>
327
328
* mit Redmine 3.x:
329
330
<pre>bundle exec rails server webrick -e production</pre>
331
332
Wenn WEBrick gestartet wurde, kann im Browser http://localhost:3000/ (oder eine andere Domain, mit Port 3000) aufgerufen werden. Es sollte dann die Willkommensseite von Redmine erscheinen.
333
334 19 Robert Schneider
> Hinweis: WEBrick ist nicht für den Produktiveinsatz geeignet. WEBrick sollte nur zum Überprüfen der Installation verwendet werden, um zu sehen, ob soweit alles funktioniert. Es kann aber einer der zahlreichen Anleitungen in diesem Wiki verwendet werden, um Redmine mit Passenger (vormals @mod_rails@), FCGI oder einem Rack-Server (Unicorn, Thin, Puma, hellip) zu betreiben.
335 18 Robert Schneider
336
h3. Schritt 10 - In die Anwendung einloggen
337
338
Zum Einloggen wird der Administrator-Zugang verwendet:
339
340
* Mitgliedsname: admin
341
* Passwort: admin
342
343 1 Robert Schneider
Die meisten Einstellungen können nun vorgenommen werden indem man im Menü zur @Administration@ und dort in den Bereich @Konfiguration@ geht.
344 20 Robert Schneider
345
h2. Konfiguration
346
347 21 Robert Schneider
Die Redmine-Einstellungen werden in einer Datei namens @config/configuration.yml@ gespeichert.
348 20 Robert Schneider
349
Wenn andere Werte als die Standardeinstellungen verwendet werden sollen, so muss lediglich @config/configuration.yml.example@ nach @config/configuration.yml@ kopiert und angepasst werden. Die Datei enthält Dokumentation in Form von Kommentaren und ist daher selbsterklärend.
350
351
Diese Einstellungen können auch durch die Umgebungsvariablen für Rails vorgenommen werden (@production/development/test@).
352 1 Robert Schneider
353 21 Robert Schneider
+Wichtig+: die Anwendung muss nach jeder Änderung neu gestartet werden.
354
355
h3. Email/SMTP-Servereinstellungen
356
357
Die Email-Konfiguration wird auf einer [[EmailConfiguration|separaten Seite]] erklärt.
358
359
h3. SCM-Einstellungen
360
361
Dieser Abschnitt ermöglicht:
362
363
* das Überschreiben der Standardanweisungsnamen, falls die SCM-Binärdateien in der PATH-Variablen nicht die üblichen Namen verwenden
364
* das Festlegen des kompletten Pfads zu den SCM-Binärdateien
365
366
Beispiele (mit Subversion):
367
368
Überschreiben des Anweisungsnamen:
369
370
  scm_subversion_command: "svn_replacement.exe"
371
372
Setzen des Pfades:
373
374
  scm_subversion_command: "C:\Program Files\Subversion\bin\svn.exe"
375
376
h3. Speichereinstellungen für Anhänge
377
378
Mit der Einstellung @attachments_storage_path@ kann das Verzeichnis für den Ort, wohin Anhänge gespeichert werden, vom Standard @files@ auf einen anderen geändert werden. 
379
380
Beispiele:
381
382
  attachments_storage_path: /var/redmine/files
383
384
  attachments_storage_path: D:/redmine/files
385
386
h2. Konfiguration des Loggings