Systemupgrade von älteren Versionen

Vorwort

Wenn Sie noch eine EGOCMS Version 4, 5, 13, 14, 16 oder 18 verwenden, wird es Zeit auf die aktuelle EGOCMS Version 23 und höher zu wechseln. Das Upgrade ist aus diversen Gründen nicht über einen Klick auf dem Reiter "Systemupdate" durchzuführen. Die Gründe dafür werden hier genannt und auch die Schritte, wie Sie selbst ein Upgrade durchführen können.

check

Wenden Sie sich an EGOTEC, wenn Sie das Upgrade mit unserer Unterstützung durchführen möchten oder gar vollständig durch uns durchführen lassen wollen. Wir bieten Ihnen gerne eine Migrationsunterstützung an.

Kompatibilität

Ab der EGOCMS Version 22 wird PHP 7.4 als Mindestvoraussetzung für den Betrieb des EGOCMS gesetzt. Bis zu dieser EGOCMS Version wurde maximal PHP 7.3 unterstützt. In der EGOCMS Version 16 war es maximal PHP 5.6.

Dieser große Sprung in den PHP Versionen bedeutet auch viele Änderungen in PHP selbst. Es ist deshalb unvermeidlich gerade beim Wechsel von PHP 5 auf PHP 7 besonders die kundenspezifischen Skripte und Templates vollständig zu testen und ggf. anzupassen.

Hierzu bietet PHP eine Anleitung für den Wechsel von PHP 5 auf PHP 7 an:

Bis zur letzten PHP 7 Version, welche 7.4 ist, gibt es jeweils weitere PHP Anleitungen:

Die Inhalte dieser Anleitungen sollten beherzigt werden und die kundenspezifischen Skripte und Templates entsprechend durchsucht werden.

Ab der EGOCMS Version 23 wird zudem PHP 8 unterstützt (PHP 7.4 bleibt aber die Mindestanforderung). Auch hier wurde beim Versionssprung seitens PHP wieder viel geändert. In jedem Fall, und nicht nur, wenn Sie von einer EGOCMS Version 18 oder 22 aktualisieren wollen, müssen Sie auch diese PHP Anleitungen berücksichtigen:

warning

Ab der EGOCMS Version 22 wird das PHP Modul imagick benötigt.

save

Aktuell unterstützt das EGOCMS maximal die PHP 8.1. Bis PHP 8.2 unterstützt wird, lohnt es sich auch die PHP Anleitung für diese Version zu berücksichtigen: https://www.php.net/manual/de/migration82.php

warning

Neuere PHP Versionen erfordern in den meisten Fällen auch neuere Betriebssystem Versionen. Ein EGOCMS Upgrade sollte deshalb auch mit einem Upgrade des Betriebssystems verbunden werden. Berücksichtigen Sie hierbei, dass auch die Versionen des Betriebssystems ein Ablaufdatum haben, ab dem es von den Herstellern keine Sicherheitsupdates mehr gibt. Das selbe gilt auch für die PHP Versionen: https://www.php.net/supported-versions.php

check

Beim Upgrade auf eine aktuelle EGOCMS Version bleiben alte Inhalte erhalten. Das EGOCMS ist dahingehend immer abwärtskompatibel. Auch die Aktivierung der Frontend Administration für ein altes Design erhält die alten Inhalte bei.

Ablauf

In der Praxis bedeutet das, dass bei einem EGOCMS Upgrade ein neuer Server gestellt werden muss. Auf diesem wird eine aktuelle Betriebssystem und PHP Version installiert. Prinzipiell sehen die nächsten Schritte dann so aus:

  1. Eine aktuelle EGOCMS Version wird installiert.
    • EGOTEC kann Ihnen dafür ein Archiv zur Verfügung stellen.
  2. Die Datenbank wird vollständig kopiert und in die neue Datenbank der neuen Installation eingespielt.
  3. Alle kundenspezifischen Verzeichnisse und Dateien werden kopiert. Sollten Sie weitere Verzeichnisse/Dateien haben, die Sie erhalten wollen, kopieren Sie diese natürlich ebenfalls. Grundsätzlich sind das aber folgende Verzeichnisse/Dateien:
    • site/
    • skin/
    • pub/theme/
    • var/bin/
    • var/conf/
    • var/lib/
    • var/media/
    • var/spellchecker/
    • bin/conf/local.php
  4. Passen Sie ggf. die Konfigurationen in var/conf/conf.ini und bin/conf/local.php an (z.B. andere Installationspfade oder Datenbank Zugangsdaten).
  5. Melden Sie sich als Superuser in den Adminbereich an und aktivieren Sie den Superusermodus (Schloß-Icon oben rechts). Rufen Sie nun im Browser das Skript bin/admin/system_migrate.php auf.
    • Dieses Skript führt alle EGOCMS Migrationen durch, die Ihnen bis zur verwendeten aktuellen EGOCMS Version fehlen. Sollten Sie Migrationen wiederholen wollen, können Sie var/conf/system_migrate.ini anpassen oder gar leeren. Migrationen mehrmals durchzuführen ist unproblematisch.
  6. Passen Sie ggf. var/conf/virtual_hosts.ini an (oder leeren diese gar), um die virtuellen Hosts für Ihren Testserver zu setzen. Rufen Sie bin/admin/su/update_urls.php?allsites=1 (optional mit den Parametern &flush=1&reset=1, wenn Sie alle vorhandenen URLs löschen möchten) im Browser auf, wenn Sie für die URL Generierung Rewrite2 verwenden.
  7. Spielen Sie Ihre aktuelle Lizenz erneut ein, um nur die Module zu behalten, die Sie lizenziert haben ("Extras > System > Lizenz").
check

Die Testphase kann nun beginnen!

wb_incandescent

Dies müssen Sie ggf. auch für eventuell vorhandene Liveserver wiederholen. Sie können bei virtualisierten Servern diesen Testserver auch einfach klonen. Falls Sie Liveserver verwenden, sollte das während der Testphase gemacht werden, damit auch der Liveabgleich zwischen den neuen Servern ordentlich getestet werden kann.

warning

Deaktivieren Sie EGOCMS Dienste oder Server Cronjobs auf dem Testserver die E-Mails versenden, um während der Testphase keine echten E-Mails zu versenden. EGOTEC empfiehlt stattdessen auf Dienste wie Mailhog zurückzugreifen und in den EGOCMS E-Mail Einstellungen zu setzen. So können E-Mails während der Testphase trotzdem getestet werden, da diese von solchen Diensten abgefangen und somit nicht nach Außen versendet werden.

Sobald Sie die Testphase beendet haben, werden die neuen Server live geschaltet. Dafür müssen Sie DNS Einstellungen vornehmen und die virtuellen Hosts im EGOCMS aktualisieren. Sollten Sie vorher nochmal die aktuelle Datenbank der alten Server einspielen wollen, müssen Sie die EGOCMS Migration wiederholen (Schritt 5).

Alternativer Ablauf

Anstatt auf einem neuen Server eine neue EGOCMS Installation zu verwenden, gibt es auch die Möglichkeit den alten Server vollständig zu klonen. Dies ist nur möglich, wenn Sie das Betriebssystem auf diesem Server auf eine aktuelle Version aktualisieren können. Sie können dann in var/conf/conf.ini EGOCMS Beta Updates aktivieren. Dazu setzen Sie folgende Einstellung:

beta_updates="1"

Über "Extras > System > Systemupdate" können Sie nun auf die letzte verfügbare Beta Version einer aktuellen EGOCMS Version aktualisieren. Nach diesem Systemupdate müssen Sie weitere EGOCMS Systemupdates durchführen, um auf die letzte verfügbare EGOCMS Version zu gelangen.

save

Das Update von der EGOCMS Version 22 auf die EGOCMS Version 23 ist ein "Rolling Release". Es erfolgt demnach als reguläres Systemupdate und nicht über eine Beta Version.

warning

Bei diesem Ablauf muss die verwendete PHP Version die sein, die mit der verwendeten alten EGOCMS Version kompatibel ist. Die PHP Version kann erst nach dem Systemupdate auf mindestens EGOCMS Version 22 aktualisiert werden. Bitte berücksichtigen Sie das Update des Betriebssystems.

wb_incandescent

Spätestens jetzt benötigen Sie eine neue EGOCMS Lizenz.

Neue Lizenz

Ab der EGOCMS Version 22 werden Systemupdates nicht mehr über das EGOTEC SVN durchgeführt, sondern über das EGOTEC Git Repository. Damit Sie also weiterhin Systemupdates durchführen können, benötigen Sie eine aktualisierte EGOCMS Lizenz. Bitte wenden Sie sich dafür an den EGOCMS Support und schicken uns Ihre aktuell verwendete Lizenz zu. Wir senden Ihnen dann die aktualisierte Lizenz zurück.

wb_incandescent

Ihre Lizenz können Sie über "Extras > System > Lizenz" herunterladen und einspielen.

Neuer Server

Einen neuen Server können Sie nach Ihren Bedürfnissen einrichten. EGOTEC bietet aber auch ein Repository an, über welches MariaDB, Nginx und PHP vorkonfiguriert installiert werden kann. Dazu erfahren Sie hier mehr (Ubuntu 22.04 LTS).

Falls Sie Ihren Server selbst konfigurieren möchten, beachten Sie bitte folgende Hinweise zu den Versionen:

  • MariaDB mindestens in der Version 10.5
  • Elasticsearch (optional, aber empfohlen) in der Version 7 (die Version 8 wird aktuell noch nicht vom EGOCMS unterstützt)
    • Elasticsearch sollte mit den folgenden Einstellungen installiert werden:
      • http.max_initial_line_length: 1mb
      • discovery.type: single-node
      • ulimits für soft und hard jeweils auf 65536
      • Für Java: -Xms512m -Xmx2g (diese Angaben können bei Bedarf erhöht werden)
save

Andere Datenbanken (z.B. Oracle) oder andere Webserver (z.B. Apache, IIS) sind weiterhin mit dem EGOCMS möglich. Hierfür hat EGOTEC allerdings keine Mindestanforderung bzgl. der Versionen.

check

Bestehende Server-Konfigurationen können grundsätzlich für den neuen Server übernommen werden, da hier das EGOCMS in aktuellen Versionen keine Anpassungen vorsieht.

Docker

EGOTEC bietet auch Docker Images an, um eine EGOCMS Installation auf Ihrem Server zu erstellen. Wenden Sie sich an den EGOTEC Support, um Zugang zu diesen Docker Images zu erhalten:

  • Ubuntu 22.04: registry.egocms.com/egocms/cms/ubuntu:22.04
  • Elastcsearch 7: registry.egocms.com/egocms/cms/elasticsearch:7

Natürlich können Sie stattdessen auch die offiziellen Docker Images verwenden und diese entsprechend konfigurieren. Auch die EGOTEC Docker Images basieren auf diesen Docker Images.

Kubernetes

EGOTEC bietet zudem auch an, Ihre Server über EGOTEC in einem Kubernetes Cluster laufen zu lassen. Die Server liegen in Deutschland und bieten durch die Kubernetes Architektur eine hohe Ausfallsicherheit. Bei dieser Lösung übernimmt EGOTEC die Serverwartung. Sollten Sie sich dafür interessieren, wenden Sie sich bitte an den EGOCMS Support.

Performance

Ein größeres EGOCMS Upgrade kann auch bedeuten, dass Sie nun EGOCMS Features nutzen können, die für Sie vorher nicht zur Verfügung standen. An dieser Stelle werden ein paar Features genannt, die die allgemeine Performance Ihrer EGOCMS Installation verbessern können. Wenden Sie sich auch hierzu gerne an den EGOCMS Support, um die für Sie interessanten Features seit Ihrer eingesetzten alten EGOCMS Version näher beschrieben zu bekommen:

  • Elasticsearch als Suchmaschine verwenden. Diese wird auch in der Benutzerverwaltung eingesetzt.
  • Designs mit Blöcken verwenden (Stichwort: Frontend Administration). Hier gibt es optimierte Verfahren für die Darstellung von Bildern und Videos.
  • Nginx mit Nginx eigener Cache.
  • Neue anpassbare URL Generierung (Stichwort: Rewrite2).

Lesen Sie dazu auch gerne in unserem Blog nach.

check

Ein EGOCMS Upgrade von älteren EGOCMS Versionen kann sich als mehr oder weniger kompliziert herausstellen. Das hängt maßgeblich von der verwendeten alten EGOCMS Version ab und der individuellen Umgebung, die Sie einsetzen. Es empfiehlt sich in jedem Fall die Upgrade Prozedur mit dem EGOCMS Support abzustimmen.