Inhaltsverzeichnis

i-doit sollte immer in der aktuellsten Version betrieben werden. In Minor-Releases befinden sich immer zahlreiche Bugfixes, in Major-Releases dazu dann noch neue Funktionen und Verbesserungen von bestehenden Funktionen. Minor-Releases erscheinen ungefähr alle vier Wochen, Major-Releases alle sechs Monate. Das Update kann über die Web-Oberfläche von i-doit durchgeführt werden, setzt jedoch einen Internetzugang (gegebenenfalls über einen HTTP-Proxy) voraus. Alternativ kann das Update über die Konsole vorbereitet und anschließend über die Web-Oberfläche fortgeführt werden.

 

Backup

Vor dem Update sollte unbedingt ein Backup angefertigt werden.

Update über die Web-Oberfläche

Das Update erreichst du entweder unter Verwaltung → Systemtools → i-doit Update, über das Quicklaunch-Widget auf dem Dashboard oder über die URL http://i-doit-host/i-doit/?load=update 

Nach dem Aufruf öffnet sich eine eigene Oberfläche, in der geprüft wird, wie der aktuelle Zustand des Systems ist. In unserem Screenshot sehen wir, dass unter anderem die PHP-Extension mcrypt nicht gefunden wurde. Sollte solch eine Meldung ausgegeben werden, ist es sehr wichtig, das System dementsprechend anzupassen. Schaue hier am besten in unsere Systemvoraussetzungen bzw. in unsere Systemeinstellungen. Nach der Anpassung der Umgebung sollte alles grün abgehakt bzw. auf "OK" stehen.

Im nächsten Schritt werden die verfügbaren Update-Pakete angezeigt. In unserem Beispiel ist i-doit in Version 1.6.1 installiert und ein Update ist derzeit lediglich auf die gleiche Version möglich. Über Check for a new version kannst du prüfen lassen, ob ein neues Paket verfügbar ist. Hierfür ist jedoch zwingend eine Verbindung zum Internet nötig.

Nach einem Klick auf "Check for a new version" wird im nach der nächsthöheren Version geprüft. 

Releases überspringen

Wenn aktuell die Version 1.6.1 installiert und schon die Version 1.6.7 verfügbar ist, wird trotzdem nur die nächsthöhere Version – also 1.6.2 – angezeigt. Allerdings können Minor-Releases grundsätzlich übersprungen werden. Dennoch werden über diesen Weg trotzdem alle Minor-Releases einzeln installiert, bis die aktuellste Version erreicht ist. Wenn du direkt auf die Version 1.6.7 springen möchtest, kannst du das neueste Paket im Kundenportal herunterladen und auf dem i-doit-Host entpacken. Die notwendigen Schritte dafür kannst du hier im unteren Teil des Artikels finden.

Nach einem Klick auf Download wird das Update-Paket heruntergeladen und entpackt.

Schreibrechte

 Sollte es beim Herunterladen und Entpacken zu einer Fehlermeldung kommen, liegt dies in vielen Fällen daran, dass der Apache Webserver keine Schreibrechte auf das Verzeichnis hat, in dem i-doit installiert ist. Weitere Hinweise darauf befinden sich ebenfalls weiter unten.

Nun steht die neue Version für das Update bereit. Es kann ausgewählt und mit einem Klick auf "Next" gestartet werden. Wer sich für die Änderungen interessiert, die das Paket mit sich bringt, findet dazu unter see changelog eine Auflistung.

In der Regel sind die Haken bereits, wie im Bild erkennbar, gesetzt, sodass die Systemdatenbank und die dazugehörigen Mandanten schon für das Update ausgewählt sind. Sollte es keinen Grund geben, einzelne Mandanten nicht zu aktualisieren, sollten die Haken gesetzt bleiben.

Allerspätestens jetzt solltest du ein Backup anfertigen. Wenn du ein Backup hast, kannst du über den Button Yes, I did a backup! - Start the update das Update einspielen. 

Jede Änderung kann Auswirkungen auf Dateien und die Datenbanken haben. Sollte hierbei etwas schief gehen (typischerweise durch fehlende Schreibrechte), wird dies mit einem roten "ERROR" bemängelt. Wenn alles mit einem grünen "DONE" angezeigt wird, kannst du über Next den nächsten Schritt aufrufen.

Je nach Update werden Änderungen an bestehenden Daten vorgenommen. Der Schritt "Migration" führt diese aus und meldet, ob die Änderungen erfolgreich waren.

Nach der sogenannten "Property Migration" sollte hier ebenfalls alles grün angezeigt werden.

Nun ist das Update abgeschlossen. Wer detaillierte Informationen zum Update nachlesen möchte, kann dies in der verlinkten Log-Datei tun. Über Run i-doit v.<VERSION> kann zu i-doit zurückgekehrt werden. Es ist sehr zu empfehlen, den Browser und den i-doit-Cache unter Verwaltung → Systemtools → Cache / Datenbank zu löschen.

Update über die Konsole vorbereiten

Das Update kann über die Konsole vorbereitet, aber nicht durchgeführt werden. Für die Vorbereitung muss aus dem Kundenportal das neuste Update-Paket heruntergeladen werden.

Releases überspringen

Hier ist zu beachten, dass Minor-Releases übersprungen werden können, Major-Releases aber nicht.

Das Update-Paket kann (beispielsweise per WinSCP) auf dem Server abgelegt werden. Verschiebe danach das Paket in das Hauptverzeichnis von i-doit, wenn du es nicht schon direkt dort abgelegt hast.  Das geht mit diesem Befehl:

mv /ort_des_zips/idoit-1.2.3-update.zip /var/www/html/i-doit

Dann muss das Paket entpackt und alle bestehenden Dateien überschrieben werden

cd /var/www/html/i-doit
unzip idoit-1.2.3-update.zip # mit "A" zum Überschreiben aller Dateien bestätigen

Jetzt werden die Dateirechte angepasst, sodass der Webserver lesend wie schreibend Zugriff auf i-doit hat.

cd /var/www/html/i-doit/
sudo chown www-data:www-data -R .
sudo find . -type d -name \* -exec chmod 775 {} \;
sudo find . -type f -exec chmod 664 {} \;
sudo chmod 774 controller *.sh setup/*.sh

Nun kannst du in unserer Anleitung für das Update über die Web-Oberfläche weiterschauen und dabei die Schritte für den Download des neuesten Pakets überspringen.