Übersetzung der Rev. 82

Upgrading

Die folgende Dokumentation behandelt das Aktualisieren von Redmine auf Version 2.x oder höher. Eine frühere Version dieser Seite auf Englisch enthält das Upgrading auf Redmine 1.x.

Schritt 1 - Anforderungen überprüfen

Der erste Schritt für das Upgrade ist, zu überprüfen, ob die Anforderungen der Version, die installiert werden soll, erfüllt werden.

Schritt 2 - Sicherung

Es wird empfohlen, die Datenbank und die hochgeladenen Dateien zu sichern. Die meisten Upgrades laufen ohne Probleme ab, doch kann es nie schaden, eine Sicherung für den Fall der Fälle zu besitzen.
Weitere Informationen hierzu finden Sie unter Sichern und Wiederherstellen von Redmine

Schritt 3 - Das Upgrade durchführen

Nun ist es Zeit, die eigentliche Aktualisierung vorzunehmen. Dieser Vorgang fällt, je nachdem, wie Redmine bezogen wurde, unterschiedlich aus. Nur eine der beiden folgenden Optionen ist nun durchzuführen.

Option 1 - Eine stabile Version herunterladen

1. Herunterladen des Releases, entweder als tar.gz- oder als zip-Format, mit anschließendem Entpacken des Archivs in ein neues Verzeichnis. Entpacken des Archivs in ein neues Verzeichnis.

2. Kopieren der bestehenden Datei config/database.yml (die Datenbankeinstellungen enthält) in das neue config-Verzeichnis. Falls Redmine >= 1.4 mit MySQL und Ruby 1.9 verwendet wird, so muss der Datenbankadapter in der Datei auf mysql2 gesetzt sein.

Stellen Sie sicher, dass für die neu extrahierten und kopierten Dateien und Verzeichnisse der richtige Eigentümer und die richtige Gruppe festgelegt sind, damit der Benutzer / die Gruppe, auf der Ihr Anwendungsserver ausgeführt wird, tatsächlich auf die Dateien zugreifen kann. Insbesondere ist darauf zu achten, dass bei den Verzeichnissen files, log und tmp Schreibrechte vorhanden sind.

3a. Kopieren der bestehenden Datei config/configuration.yml (die generelle Einstellungen enthält) in das neue config-Verzeichnis.

3b. Oder: falls von einer Version vor 1.2.0 aktualisiert wird, die Email-Einstellungen aus der Datei config/email.yml in die neue Datei config/configuration.yml kopieren. Diese kann auch durch das Duplizieren und Umbenennen der Datei config/configuration.yml.example erstellt werden.

4. Kopieren des Verzeichnisinhaltes aus files in das gleichnamige Verzeichnis in der neuen Installation (das Verzeichnis enthält alle hochgeladenen Dateien).

5. Kopieren der Verzeichnisse der eigenen (selbst installierten) Plugins aus dem plugins Verzeichnis (oder aus vendor/plugins, falls von einer Version vor 1.x aktualisiert wird) in das Verzeichnis plugins der neuen Installation. Stellen Sie sicher, dass Sie nur Plugins kopieren, die ursprünglich nicht mit Ihrem vorherigen Redmine-Setup gebündelt wurden.

6. Installieren der benötigten Gems:

bundle install --without development test

Falls auf dem System ImageMagick nicht vorhanden ist, so sollte die Installation des Gems rmagick ausgelassen werden:

bundle install --without development test rmagick

Es werden dabei lediglich die für die Adapter benötigten Gems installiert, die in der Konfigurationsdatei für die Datenbankverbindung angegeben sind (z.B. wenn in config/database.yml der _mysql2_Adapter in Verwendung ist, so wird nur das Gem mysql2 installiert). Falls config/database.yml so verändert wird, dass ein anderer Datenbankadapter verwendet werden soll, so ist 'bundle install' jedes Mal erneut aufzurufen!

Weitere zu installierende Gems, die nicht direkt von Redmine benötigt werden, können diese in einer eigenen Datei mit dem Namen Gemfile.local im Root-Verzeichnis angegeben werden. Sie ist ggf. erst anzulegen. Sie wird dann automatisch beim Ausführen von bundle install geladen und installiert die dort angegebenen Gems.

7. Ausführen der folgenden Anweisungen im Root-Verzeichnis der neuen Redmine-Installation:

Falls von einer Redmine-Version vor 2.x aktualisiert wird, zunächst diese Datei löschen, sofern sie existiert: config/initializers/secret_token.rb

Dann mit folgender Anweisung ein neues 'Secret' erzeugen:

bundle exec rake generate_secret_token

Alternativ kann dieses 'Secret' auch in config/secrets.yml gespeichert werden. Informationen dazu unter http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml

8. Falls Themes bisher verwendet wurde, so können diese aus public/themes in das bleichnamige Verzeichnis des neues Installationsverzeichnis kopiert werden. Es ist aber sinnvoll, vorher zu überprüfen, ob eine neue Version des Themes verfügbar ist.

BESONDERS WICHTIG: config/settings.yml sollte NICHT mit der alten Datei überschrieben werden.

Option 2 - Upgrade über ein SVN-Checkout

1. Im Root-Verzeichnis der bestehenden Redmine-Installation diese Anweisung ausführen:

svn update

2. Installieren der benötigten Gems mit folgender Anweisung:

bundle udpate

Schritt 4 - Die Datenbank aktualisieren

Dieser Schritt ist jener, der die Datenbank verändern könnte. Dafür ist im Redmine-Verzeichnis folgende Migrationsanweisung ausführen:

bundle exec rake db:migrate RAILS_ENV=production

Falls Plugins installiert sind, so sollten auch ihre Datenbankmigrationsanweisungen durchgeführt werden:

bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Schritt 5 - Aufräumen

1. Leeren des Caches und Löschen bestehender Sessions:

bundle exec rake tmp:cache:clear RAILS_ENV=production

2. Neustarten des Anwendungsservers (z.B. puma, thin, passenger).

3. Abschließend im Browser auf "Administrationn -> Rollen und Berechtigungen" gehen, um dort die Berechtigungen möglicher neuer Features einzustellen.

Häufige Probleme

Fehler beim Management von Subversion-Projektarchiven

Der Datei reposman.rb wurden mehrere neue Funktionen hinzugefügt. Stellen Sie sicher, dass Sie eine Gruppe angegeben haben, wenn Sie Probleme haben ( --group=groupnamehere). Stellen Sie außerdem sicher, dass Sie die Anweisungen hier erneut befolgen, wenn Sie nur Ihre Redmine.pm nur kopiert haben. Des Weiteren aktualisieren Sie ggf. Ihre Apache-Konfiguration, wenn sich die empfohlene Konfiguration geändert hat.

secret_token.rb neu erstellen

Vor der Version 2.0.0 war es nötig eine Datei session_store.rb im Verzeichnis config anzulegen, um Cookie-basierte Sessions zu ermöglichen.

Seit Version 2.0.0 wird diese Datei nicht mehr benötigt und sollte daher erst gar nicht existieren. Stattdessen wird mit folgender Anweisung die Datei secret_token.rb generiert.

bundle exec rake generate_secret_token

Hinweis: Der Code im Projektarchiv von Redmine selbst enthält die Datei config/initializers/secret_token.rb nicht. Sie wird durch die obige rake-Anweisung erst erzeugt.

Weitere Hilfen

Beim Aktualisieren von Redmine können auch diese Quellen weiterhelfen: