Inhaltsverzeichnis
Alle paar Wochen wird eine neue Version von Redmine veröffentlicht, die Fehler behebt und neue Features und Übersetzungen hinzufügt. Da die Redmine-Entwickler automatische Tests laufen lassen und darauf achten das auch für neue Features Tests erzeugt werden, kann davon ausgegangen werden, das diese Releases gefahrlos eingesetzt werden können.
Trotzdem scheinen viele Administratoren vor dem Update einer Produktiv-Instanz zurück zu schrecken. Das hier kein Grund zur Sorge besteht, soll dieses Kapitel zeigen.
Bevor Sie beginnen sollten Sie prüfen ob Ihr Server die Installationsvorraussetzungen für die neue Version erfüllt.
Bevor Sie beginnen sollten Sie überprüfen ob Ihr Backup sauber funktioniert. Wenn etwas schief geht, können Sie ein Restore machen und haben nur wenige Daten verloren. Außerdem ist es immer eine gute Idee, Backups mal testweise wiederherzustellen.
Sichern Sie nun den Inhalt Ihrer Datenbank in eine Datei, der folgende Befehl tut's für MySQL:
mysqldump -u BENUTZERNAME -p PASSWORT DATENBANK | gzip > ~/redmine_db.gz
Zunächst einmal müssen Sie das aktuelle Redmine-Paket herunterladen (Sie erinnern sich von wo?) und nach
/opt/redmine_neu
entpacken.
Kopieren Sie jetzt das Konfigurationsfile für die Datenbank (config/database.yml
) vom alten System
zum Neuen. Wenn Sie Redmine mit MySQL und Ruby 1.9 einsetzen, ändern Sie bitte den Adapter zu mysql2
.
Kopieren Sie das Basis-Konfigurationsfile config/configuration.yml
vom alten System zum Neuen.
Kopieren Sie den Inhalt des Ordners files
zum neuen System. In diesem Ordner befinden sich alle hochgeladenen bzw.
angehängten Dateien.
Jetzt müssen wir die Plugins kopieren. Was Sie tun müssen hängt davon ab, welche Version Sie aktualisieren. Falls Sie von
Redmine <2.0 kommen, kopieren Sie die Ordner Ihrer selbst installierten Plugins von vendor/plugins
, falls Sie von anderen Versionen kommen, die aus dem Ordner plugins
(ohne vendor davor) in den entsprechenden
Ordner des neuen Systems. Stellen Sie dabei sicher das Sie nur Plugins kopieren, die nicht Teil Ihres alten Redmines waren.
Erzeugen Sie einen neuen Schlüssel, führen Sie folgendes in /opt/redmine_neu
aus:
rake generate_secret_token
Prüfen Sie, ob für das von Ihnen eingesetzte Theme eine neue Version verfügbar ist. Wenn nicht, kopieren Sie das Theme einfach zum neuen System.
config/settings.yml
nicht mit der alten Version!Aktualisieren Sie die Datenbank, der folgende Befehl fügt z.B. neu hinzugekommene Tabellen hinzu:
rake db:migrate RAILS_ENV=production
Und das Selbe nochmal für Plugins:
rake redmine:plugins:migrate RAILS_ENV=production
Fertig, jetzt sollten Sie noch den Cache leeren und existierende Sessions beenden:
rake tmp:cache:clear rake tmp:sessions:clear
Starten Sie die Redmine-Instanz neu und prüfen Sie falls nötig die Rechte für neu hinzu gekommene Funktionen (Administration -> Rollen).
Wenn Sie bei der Migration eine Fehlermeldung bezüglich "member_roles" bekommen, dann kann das an einer früheren Migration liegen, die korrekt durchgelaufen ist. In diesen Fall könnten die Tabellen member_roles und / oder group_users schon existieren und die Migration schlägt fehl. Löschen Sie in diesem Fall einfach die Tabellen, oder benennen Sie sie um:
mysql> rename table member_roles to member_roles_saved mysql> rename table groups_users to groups_users_saved
Ein weiterer Fehler der manchmal auftritt lautet "undefined method 'add_frozen_gem_path'". Wenn Sie diesen Fehler sehen prüfen Sie bitte,
ob der Ordner vendor/rails
existiert. Falls ja, entfernen Sie ihn bitte oder benennen Sie ihn um, er könnte eine
alte RoR-Version enthalten.
Sehen Sie, so schlimm war das doch garnicht.