Beim letzten Update verschiedener Nextcloud Apps kam die Warnung, dass mein PHP 8.1 zukünftig nicht mehr unterstützt wird. Das habe ich zum Anlass genommen upgraden.
Einführung
Diese Nextcloud Instanz, die auf meinem Proxmox Server läuft, wurde auf Ubuntu 22.04 installiert. Auch wenn es möglich ist PHP8.2 auf einer Ubunue Version 22.04 zu installieren, habe ich mich dafür entschieden, auch die da runter liegende Ubuntu Version upzugraden. Ubuntu 24.04 wurde zwar bereits im April 2024 veröffentlicht, und auch damals habe ich bereits ein Upgrade mit dem Skript do-release-upgrade versucht, was aber gescheitert ist. Aber vielleicht war jetzt die Zeit gekommen, es erneut zu versuchen.
Vorbereitungen
Beim ersten Versuch, die Ubuntu Version upzugraden, traten viele Fehlermeldungen auf, die auch in der Community bestätigt wurden. Es blieb deshalb nichts anderes übrig, als das Back-up des LXC Containers wieder zurück zu spielen. Diese Option steht auch jetzt offen. Allerdings ist es auf einem ZFS Dateisystem auch möglich, einen Schnappschuss zu machen, der ist ebenfalls erlaubt, relativ einfach auf die vorliegende Version zurückzukommen.
Und ich weiß auch, dass es auch in der Version 22.04 möglich gewesen wäre ein PHP 8.2 zu installieren, zumal hier ohnehin externe Repositories benutzt werden.
Der Upgrade Prozess
Startet man den Upgrade Prozess mit dem Skript dann werden zunächst einmal hunderte an neuen Paketen heruntergeladen.
Während dieses Prozesses fragt das Skript ab, ob Dienste ohne weitere Rückfrage neu gestartet werden soll. Dies habe ich bejaht.
Die heruntergeladenen Pakete werden anschließend entpackt und installiert.
Während des Update Prozesses wird auch geprüft, ob Konfigurationsdatei zum Beispiel durch den Benutzer geändert wurden. Und hier hat man dann die Wahl, die Konfigurationsdatei unverändert zu lassen.
Danach hat sich meine Nextcloud Instanz nach einem Reboot mit der neuen Version 24.04.2 im Anmeldebildschirm gemeldet.
Trotzdem Probleme bei der Anmeldung
Der Versuch, sich auf die Nextcloud Instanz anzumelden, scheiterte jedoch mit einem Internal Server error. Ich habe hier zunächst versucht, eine lokale PHP Datei ausführen zu lassen, was kein Problem darstellte. Es hat eine ganze Weile gedauert und nur unter Zuhilfenahme, nicht nur der Log-Dateien vom Web Server, sondern vor allen Dingen der Log-Dateien vom PHP Interpreter bin ich dahinter gekommen, dass es sich hierbei nicht um den sonst so typischen Internal server Error 500 handelt, sondern um einen internal Server Error eben ohne diese 500
Erst aufgrund der Logdateien von PHP selbst, die man ja mit dem Tool OCC aufrufen kann, wurde mir gemeldet, dass ein Login daran scheiterte, dass eine Verbindung mit der MariaDB Datenbank, die nicht auf dieser Maschine läuft, nicht möglich war. Auch hier hat es wieder eine Weile gedauert, bis das sich über eine Prüfung der installierten Module darauf kamen, dass das Modul für die MySQL beziehungsweise MariaDB Datenbank nicht installiert war. Dies war ein klein wenig verwunderlich, da es ja auf der alten Instanz gelaufen ist.
Nach Installation des entsprechenden PHP Moduls konnte ich mich zwar anmelden, bekam aber immer noch eine Fehlermeldung und zwar war als zweites fehlendes Modul das XML Modul nicht installiert. Danach lief die Anmeldung ohne Probleme.
Fazit
Dieses Mal hat das Upgrade zwar geklappt trotzdem ist es ein klein wenig verwunderlich, dass sozusagen das wichtigste PHP Modul nämlich für die Anbindung an einem MySQL beziehungsweise Maria DB Datenbank nicht installiert wurde beziehungsweise nicht Updated wurde.
Vermutlich passiert, dies aber, weil für PHP ohnehin externe Repositories herangezogen werden und die dann im Upgrade Prozess von Ubuntu nicht berücksichtigt werden.
Soviel zu meinen Erfahrungen. Aber jetzt habe ich eine Nextcloud Instanz auf Basis von Ubuntu 24.04 mit PHP8.2 bei mir laufen
ciao tuxoche