DeRedmineUpgrade » History » Revision 15
Revision 14 (Robert Schneider, 2015-06-21 10:45) → Revision 15/18 (C S, 2021-01-26 14:33)
Übersetzung der "Rev. 82":http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade/82 76":http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade/76 {{>TOC}} h1. Upgrading Die folgende Dokumentation behandelt das Aktualisieren von Redmine auf Version 2.x oder höher. Eine "frühere Version dieser Seite auf Englisch":/projects/redmine/wiki/RedmineUpgrade?version=53 Englisch":/projects/redmine/wiki/RedmineUpgrade?version=75 enthält das Upgrading auf Redmine 1.x. h2. Schritt 1 - Anforderungen überprüfen Der erste Schritt für das Upgrade ist, zu überprüfen, ob die [[DeRedmineInstall#Anforderungen|Anforderungen]] Anforderungen der Version, die installiert werden soll, erfüllt werden. h2. 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. h3. Sichern der Dateien Alle hochgeladenen Dateien (Anhänge) sind im Verzeichnis @files@ gespeichert. Zum Sichern kann das Verzeichnis einfach an eine andere Stelle kopiert werden. h3. MySQL-Datenbanken Die @mysqldump@-Anweisung kann zum Sichern der Datenbank in eine Textdatei verwendet werden. <pre><code>/usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz</code></pre> h3. SQListe-Datenbanken SQLite-Datenbanken sind in Dateien gespeichert, weswegen sie einfach durch das Kopieren an eine andere Stelle gesichert werden können. h3. PostgreSQL-Datenbanken Die @pg_dump@-Anweisung kann zum Sichern der Datenbank in eine Textdatei verwendet werden. Weitere Informationen hierzu finden Sie unter [[DeRedmineBackupRestore|Sichern und Wiederherstellen von Redmine]] Beispiel: <pre><code>/usr/bin/pg_dump -U <username> -Fc --file=redmine.sqlc <redmine_database></code></pre> h2. Schritt 3 - Das Upgrade durchführen Nun ist es Zeit, die eigentliche Aktualisierung vorzunehmen. Dieser Vorgang fällt, je nachdem, wie Redmine bezogen herungergeladen wurde, unterschiedlich aus. Nur *eine* der beiden folgenden Optionen ist nun durchzuführen. h3. Option 1 - Eine stabile Version herunterladen Dieser Schritt besteht aus folgenden Teilschritten: *1.* [[Download|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. Damit der Anwendungsserver, der mit gewissen Benutzer- und Gruppenrechten läuft, auf die Dateien überhaupt zugreifen kann, muss sichergestellt werden, dass die frisch entpackten und kopierten Dateien entsprechende Benutzer- und Gruppenrechte aufweisen. Insbesondere ist darauf zu achten, dass bei den Verzeichnissen @files@, @log@ und @tmp@ Schreibrechte vorhanden sind. *2.* Kopieren der bestehenden Datei @config/database.yml@ (die Datenbankeinstellungen enthält) enthällt) 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) enthällt) in das neue @config@-Verzeichnis. *3b.* Oder: *falls falls von einer Version vor 1.2.0 aktualisiert wird*, wird, die Email-Einstellungen aus der Datei @config/email.yml@ in die neue Datei @config/configuration.yml@ kopieren. Diese kann auch durch kopieren, welche duch das Duplizieren und Umbenennen der Datei @config/configuration.yml.example@ erstellt werden. werden kann. *4.* Kopieren des Verzeichnisinhaltes Verzeichnisinhalts aus @files@ in das gleichnamige Verzeichnis in der neuen Installation (das Verzeichnis enthält alle hochgeladenen Dateien). *5.* Kopieren der Verzeichnisse der *eigenen* 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, Hierbei sollte darauf geachtet werden, dass Sie nur solche Plugins kopieren, zu berücksichtigen sind, die ursprünglich nicht mit Ihrem vorherigen Redmine-Setup gebündelt wurden. Teil von Redmine selbst waren. *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@ 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@ namens Gemfile.local im Root-Verzeichnis angegeben werden. Sie ist ggf. erst anzulegen. Sie wird dann automatisch beim Ausführen von @bundle install@ '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. h3. Option 2 - Upgrade über ein SVN-Checkout *1.* Im Root-Verzeichnis der bestehenden Redmine-Installation diese Anweisung ausführen: <pre><code>svn update</code></pre> *2.* Installieren der benötigten Gems mit folgender Anweisung: <pre><code>bundle udpate</code></pre> h2. 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: <pre><code>bundle exec rake db:migrate RAILS_ENV=production</code></pre> Falls Plugins installiert sind, so sollten auch ihre Datenbankmigrationsanweisungen durchgeführt werden: <pre><code>bundle exec rake redmine:plugins:migrate RAILS_ENV=production</code></pre> h2. Schritt 5 - Aufräumen *1.* Leeren des Caches und Löschen bestehender Sessions: <code><pre>bundle exec rake tmp:cache:clear tmp:sessions:clear RAILS_ENV=production</pre></code> *2.* Neustarten des Anwendungsservers (z.B. puma, thin, passenger). *3.* Abschließend im Browser auf _"Administrationn _"Adminstrationn -> Rollen und Berechtigungen"_ gehen, um dort die Berechtigungen Berechtigungenn möglicher neuer Features einzustellen. h2. Häufige Probleme h3. Fehler beim Management von Subversion-Projektarchiven Der Da einige neue Features in der Datei reposman.rb wurden mehrere neue Funktionen hinzugefügt. Stellen Sie sicher, dass Sie (source:/trunk/extra/svn/reposman.rb) hinzugefügt wurden, sollte bei Problemen mit dieser ggf. eine Gruppe angegeben haben, wenn Sie Probleme haben ( --group=groupnamehere). Stellen Sie außerdem sicher, dass Sie die Anweisungen *[[Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl|hier]]* erneut befolgen, wenn Sie nur Ihre werden (--group=groupnamehere). Wenn Redmine.pm (source:/trunk/extra/svn/Redmine.pm) nur kopiert haben. Des Weiteren aktualisieren Sie ggf. Ihre Apache-Konfiguration, wurde, so sollten die Anweisungen in diesem [[Repositories access control with apache, mod_dav_svn and mod_perl|HowTo]] durchgeführt werden. Außerdem sollte die Apache-Konfiguration angepasst werden, wenn sich die empfohlene Konfiguration geändert hat. wurde. h3. secret_token.rb neu erstellen Vor der Version 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 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: 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._ erzeugt. h3. Weitere Hilfen Beim Aktualisieren von Redmine können auch diese Quellen weiterhelfen: * Fehler beim Browsen in der Wiki-Historie nach einem Upgrade von Redmine-Version 1.x mit einer SQLite-Datenbank: #12501. * "mod_fcgid for Apache2":http://httpd.apache.org/mod_fcgid/, um Rails mit Apache 2 zum Laufen zu bringen * HowTo: [[HowTo_configure_Apache_to_run_Redmine|Apache für Redmine konfigurieren]] * "Bemerkungen zu Problemen und deren Lösung beim Upgrade von Version 0.8.6 auf 0.9.3":http://web.archive.org/web/20111214022108/http://www.cybersprocket.com/2010/project-management/upgrading-redmine-from-8-6-to-9-3/ --cybersprocket (14.08.2010) * "Bemerkungen zur Vorgehensweise beim Upgrade von Version 0.9.6 auf 1.0(RC)":http://web.archive.org/web/20120610010521/http://www.cybersprocket.com/2010/tips-tricks/upgrading-redmine-from-0-9-6-to-1-0-0/ --cybersprocket (14.08.2010)