Folgende Schritte sind notwendig, um eine Redmine-Installation auf einem Uberspace zu aktualisieren.

Dabei wird von einer Redmine-Installation ausgegangen, die mit einer MySQL-Datenbank läuft, als TAR heruntergeladen und entpackt wurde sowie auf einer Subdomain läuft. Außerdem wird davon ausgegangen, dass die zu aktualisierende Redmine-Installation in einem Unterordner von /var/www/virtual/$USER liegt.

1. Voraussetzungen prüfen

Für die neue Version sollten die Installationsvoraussetzungen geprüft werden. Sollte z.B. eine neuere Ruby-Version notwendig (oder möglich) sein, dann sollte vor dem Redmine-Upgrade die neue Ruby-Version aktiviert werden!

2. Backup erstellen

Sicher ist sicher. Eigentlich sollte nichts passieren, aber sicherheitshalber sollte man von der Datenbank sowie allen hochgeladenen Dateien im Verzeichnis files/ ein Backup machen.

3. Aktuelle Version herunterladen und entpacken

Die aktuelle Version als tar.gz herunterladen und entpacken.

cd /var/www/virtual/$USER

wget http://www.redmine.org/releases/redmine-2.6.1.tar.gz

tar -xzf redmine-2.6.1.tar.gz

rm redmine-2.6.1.tar.gz

Damit wird in das in der 1. Zeile genannte Verzeichnis die neue Version heruntergeladen, in einen Ordner entpackt und die tar.gz-Datei wieder gelöscht, da sie nicht mehr gebraucht wird.

4. Wichtige Dateien und Ordner kopieren

Aus der alten Installation die Dateien config/database.yml und config/configuration.yml in das config-Verzeichnis der neuen Installation sowie die Datei Gemfile.local kopieren.

cp redmine-2.3.1/config/database.yml redmine-2.6.1/config/

cp redmine-2.3.1/config/configuration.yml redmine-2.6.1/config/

cp redmine-2.3.1/Gemfile.local redmine-2.6.1/

Das files-Verzeichnis in die neue Installation kopieren.

cp -R redmine-2.3.1/files redmine-2.6.1/

Falls notwendig, auch Plugins, die nicht mit Redmine mitgeliefert werden, aus dem plugins-Ordner in den plugin-Ordner der neuen Redmine-Installation kopieren.

5. Abhängigkeiten installieren und Sicherheitsschlüssel generieren

Nun in das neue Redmine-Verzeichnis wechseln und die benötigten Gems installieren.

cd redmine-2.6.1

bundle install --path ~/.gem --without development test postgresql sqlite

Danach im neuen Redmine-Verzeichnis bleiben und den Sicherheitsschlüssel zur Validierung der Redmine-Sitzung erzeugen

bundle exec rake generate_secret_token

6. Datenbank aktualiseren

Im neuen Redmine-Verzeichnis folgenden Befehl nutzen, um die Datenbank zu aktualisieren:

bundle exec rake db:migrate RAILS_ENV=production

Sind Plugins installiert, auch deren Datenbankintegration aktualisieren.

bundle exec rake redmine:plugins:migrate RAILS_ENV=production

7. Aufräumen

Nur noch schnell aufräumen (Cache und aktuelle Sitzungen leeren):

bundle exec rake tmp:cache:clear tmp:sessions:clear

8. Anbindung an FastCGI und Subdomain

Damit das Ganze dann aber auch unter Uberspace läuft (tut es nämlich bis jetzt noch nicht), müssen noch ein paar wenige Dateien kopiert und erneuert werden.

Zunächst sollten aus der alten Installation die Dateien dispatch.fcgi, wrapper.fcgi & .htaccess im public-Verzeichnis in das entsprechende Verzeichnis der neuen Installation kopiert werden.

cp redmine-2.3.1/public/dispact.fcgi redmine-2.6.1/public/

cp redmine-2.3.1/public/wrapper.fcgi redmine-2.6.1/public/

cp redmine-2.3.1/public/.htaccess redmine-2.6.1/public/

Die alte Installation ist nun allerdings immer noch durch einen SymLink über die eigentliche Subdomain aufrufbar. Um dies zu ändern, alten SymLink löschen und neuen SymLink mit dem neuen Installationsverzeichnis erstellen (Annahme: ihr seid wieder im Verzeichnis /var/www/virtual/$USER)

rm SUBDOMAIN.DOMAIN.TLD

ln -s redmine-2.6.1/public SUBDOMAIN.DOMAIN.TLD

9. Fertig

Das sollte es eigentlich gewesen sein!

Letzte Änderung dieses Artikels: January 15, 2015, at 10:22 AM