Zum Inhalt

Update einspielen#

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.

Release überspringen ab version 20

Wenn du direkt auf eine neuere Version, z.B. 26, springen möchtest, kannst du das neueste Update-Paket aus dem Kundenportal herunterladen und im i-doit pro Ordner entpacken. Die notwendigen Schritte findest du hier. Ab Version 25 mit Hotfix, wird auch die Version 27 beim update check für den download angeboten.

Releases überspringen vor version 20

Wenn aktuell die Version 1.13.1 installiert und schon die Version 1.13.3 verfügbar ist, wird trotzdem nur die nächsthöhere Version - also 1.13.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.13.3 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 finden.

Backup

Vor dem Update sollte unbedingt ein Backup angefertigt werden.

Fehlende Schreibrechte

Wenn beim Herunterladen und Extrahieren eine Fehlermeldung erscheint, ist es oft der Fall, dass der Apache-Webserver keine Schreibrechte für den Pfad hat, in dem i-doit installiert ist. Mehr dazu hier

Update über die Web-Oberfläche#

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

update-quicklaunch

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.

Schritt 1: i-doit update und compatibility check#

i-doit update

Schritt 2: Available updates#

In diesem Schritt werden alle verfügbaren Update-Pakete angezeigt. In unserem Beispiel ist i-doit Version 25 installiert und kann daher nur auf die gleiche Version aktualisiert werden.

Update-Available-Check

Nach einem Klick auf Check for a new version wird nach der höchsten Version geprüft, die installiert werden kann.
Nach einem Klick auf Download wird das Update-Paket heruntergeladen und entpackt.
Wenn du eine URL für das Update-Paket hast, kannst du den Link einfügen und auf Download and extract klicken.

Update-Available-Download

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.

Update-Available-Donwload

Schritt 3: Database(s)#

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.

Update-DB

Schritt 4: File-Update#

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.

Update-Files

Schritt 5: Overview (Log)#

Jede Änderung kann Auswirkungen auf Dateien und Datenbanken haben. Wenn etwas schief geht (typischerweise wegen fehlender Schreibrechte), erscheint eine rote "ERROR" Meldung. Wenn für jede Änderung ein grünes "DONE" angezeigt wird, kannst du mit dem nächsten Schritt fortfahren, indem du auf Next klickst.

Update-Overview

Schritt 6: Migration#

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

Update-Migration

Schritt 7: Attribute migration#

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

Update-Attributes

Schritt 8: Completion#

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 → [Mandanten-Name] Verwaltung → Systemreparatur und Bereinigung zu löschen.

Update-Complete

Update über die Konsole vorbereiten#

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

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:

1
mv idoit-26-update.zip /var/www/html/i-doit/

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

1
2
cd /var/www/html/i-doit
unzip idoit-26-update.zip

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

Die hier genutzte Benutzer:Gruppen Kombination www-data:www-data bezieht sich auf Debian GNU/Linux oder Ubuntu Linux. Sollten ein anderes Betriebssystem genutzt werden, muss die genutzte Benutzer:Gruppen Kombination angepasst werden.

1
2
3
4
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 {} \;

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.

Update über die Konsole via console.php#

Backup

Vor dem Update sollte unbedingt ein Backup angefertigt werden.

Möchte man das Update über die Konsole ausführen wird die console.php verwendet. Dazu verwenden wir den den update Befehl der console.php.

Zuerst wechseln wir in das i-doit root Verzeichnis:

1
cd /var/www/html/i-doit/

Dann führen wir den Update Befehl aus und müssen noch Interaktiv einige Fragen beantworten davor das Update durchgeführt werden kann:

1
sudo -u www-data php console.php update

Wir können dem Befehl auch direkt alle notwendigen Parameter mitgeben. Für ein Update von i-doit Version 1.17 oder 1.17.2 auf Version 1.18 sieht der Befehl wie folgt aus:

1
sudo -u www-data php console.php update -u BENUTZERNAME -p PASSWORT -z /var/www/html/i-doit/idoit-1.18-update.zip --v 1.18

Die Ausgabe kann dann z.B. so aussehen:

Message Result
i-doit update OK
Environment Check OK
PHP Check OK
Configuration OK
Ini Setting: max_input_vars > 10000: failed WARN
Ini Setting: post_max_size > 128M: failed WARN
php-ext: mod_rewrite: failed WARN
Sql Check OK
Process update OK
File: /var/www/html/i-doit/updates/versions/v1.18.1/update_sys.xml should exist: failed OK
File: /var/www/html/i-doit/updates/versions/v1.18.1/config_template.inc.php should exist: failed OK
Upgrade config OK
Message Result
i-doit update OK
Process update OK
Update \idoit_system_i-doit\ with /var/www/html/i-doit/updates/versions/v1.18.1/update_sys.xml: Update is successful OK
Update tenant databases OK
Update \idoit_data_i-doit\ with /var/www/html/i-doit/updates/versions/v1.18.1/update_data.xml: Update is successful OK
Remove update files using /var/www/html/i-doit/updates/versions/v1.18.1/update_files.xml: Removing done OK
Update \idoit_system_i-doit\ with /var/www/html/i-doit/src/classes/modules/pro/install/update_sys.xml: Update is successful OK
Update tenant databases OK
Update \idoit_data_i-doit\ with /var/www/html/i-doit/src/classes/modules/pro/install/update_data.xml: Update is successful OK
Migrate tenant databases OK
Migrate properties of \idoit_data_i-doit\ with /var/www/html/i-doit/updates/versions/v1.18.1/migration/: Migration is successful OK
Clear caches OK

Anschließend kann i-doit verwendet werden. Nach dem Update sollte der Cache geleert und der Suche-index erneuert werden.