Hallo,
ich bin neu hier, obwohl ich schon lÀngere Zeit Nextcloud nutze.
Bevor ich meine Frage formuliere erst einmal meine Konfiguration:
RPi4 4GB
SSD statt Speicherkarte
apache2 2.4.38
php8.0
MariaDB
Nextcloud 22.2.3
redis
Im November habe ich meine Nextcloud von php7.3 auf php 8.0 umgestellt. Seit dem lief NC völlig problemlos. Heute habe ich ein Systemupdate durchgefĂŒhrt. Danach kam NC nicht mehr hoch. Es kommt folgende Fehlermeldung:
I>
Internal Server Error
The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.
Diesen Fehler hatte ich auch, als ich von php7.3 auf php8.0 umgestellt habe. Das Problem war damals, dass redis nicht in Version 8.0 installiert war. Nach der Installation des Packetes funktionierte meine NC wieder.
Ich habe folgendes versucht:
Wenn ich die php-Version abfrage, wird 8.1 angezeigt. Danach habe ich apache auf 8.1 umgestellt. Leider wird dann angezeigt, dass NC nicht mit php 8.1 lĂ€uft. Also wieder zurĂŒck.
Dann habe ich den Status von redis abgefragt. Das Ergebnis ist ârunningâ . Trotzdem habe ich redis noch einmal installiert; ohne Erfolg.
Nach allen Aktionen habe ich apache neu gestartet. Neu gebootet habe ich auch schon mehrfach.
Nun weiĂ ich nicht weiter und hoffe auf UnterstĂŒtzung.
Wenn du Drittquellen nutzt musst du explizit eine bestimmte Version installieren, ansonsten wird immer die neuste genommen und dann natĂŒrlich auch darauf aktualisiert, wenn eine neuere verfĂŒgbar wird.
Installiert und noch einmal darĂŒber installiert habe ich php8.0-redis
nginx habe ich nicht sondern apache 2 in der Version 2.4.38
Mit Systemupdate meine ich apt update und apt upgrade
Als ich die php-Version abgerufen habe und mir 8.1 angezeigt wurde, bin ich auch davon ausgegangen, dass hier das Problem liegt. Daher habe ich php8.1 aktiviert. Aber 8.1 funktioniert nicht mit NC Daher habe ich wieder 8.0 aktiviert.
Wie komme ich zurĂŒck auf 8.0?
Oder du kannst auch PHP komplett deinstallieren apt remove php* oder apt purge php* (Achtung! Der zweite Befehl löscht auch die Konfigurationsdateien) und dann alle Pakete in der richtigen Version wieder installieren. Wenn du deine Installations- und Konfigurationsschritte dokumentiert hast, sollte das eine Sache von Minuten sein.
Das habe ich schon im ersten Aufschlag gemacht.
Aber php -version zeigt trotzdem immer die Version 8.1.2 an.
FPM habe ich nicht installiert.
Die Deinstallation schreckt mich ein wenig ab, weil ich bei der Erstinstallation viele Ănderungen an diversen Einstellungen vorgenommen habe, damit NC so lief wie bis gestern.
Das ist der Grund warum ich alle KofigurationsÀnderungen dokumentiert habe. Dann kann ich nur Copy&Paste machen im Falle eines Falles. Aber du könntest ja zumindest mal PHP8.1 deinstallieren: apt remove php8.1* Und dann alle benötigeten Pakete zur Sicherheit nochmal in Version 8.0 installieren. Ich habe folgende Pakete installiert:
fpm kannst du weglassen, wenn du prefork verwendest. ldap, smbclient kannst du allenfalls auch weglassen, falls du die entsprechenden Funktionen in der Nextcloud nicht brauchst.
Btw. wenn du fĂŒr eine allfĂ€llige Deinstallation apt remove verwendest, werden die Config Files nicht gelöscht.
Ich bin wieder âan der Sonneâ.
Vielen Dank fĂŒr die Hilfe.
Zuerst habe ich nur php8.1 deinstalliert. Daraufhin wurde mir auch die Version 8.0.15 angezeigt. Jedoch wurde NC nicht gestartet.
Daraufhin habe ich die Installation von php8.0 durchgefĂŒhrt. FPM habe ich weggelassen. Eine ganze Reihe von Paketen waren bereits installiert. Einige, von denen ich es wusste, wie z.B. smbclient waren nicht installiert.
Ein Paket, das nicht installiert war, hat mich allerdings stutzig gemacht. php8.0-mysql war nicht installiert. Wird dieses Paket nicht auch von MariaDB benötigt? Ist das ggf. das ganze Problem gewesen?
Dann habe ich noch eine Frage. Was kann ich einstellen, damit bei nÀchste apt update nicht wieder meine Installation zerschossen wird?
Jup. Das wird benötigt um mit der Datenbank (MySQL oder MariaDB) zu kommunizieren. Das erklÀrt den Internal Server Error.
Normalerweise sollte das eigentlich nicht passieren, wenn die Pakete explizit mit der Versionsnummer installiert wurden, so wie du das jetzt gemacht hast. Du hÀttest damit eigentlich nur Updates von 8.0.14 zu 8.0.15 bekommen sollen und in Zukunft dann irgendwann auf 8.0.16. Mir ist aber sowas Àhnliches vor ein paar Wochen auf meinem Testserver auch passiert. Warum genau weiss ich nicht. ich gehe aber davon aus, dass warscheinlich noch irgendwelche PHP Pakete ohne explizite Versionsnummer installiert waren, die dann plötzlich eine AbhÀngigkeit zu PHP 8.1 hatten.
Ich habe dann eine Neuinstallation von PHP gemacht, weil das mit meinen Notizen schneller ging, als herauszufinden, welches Paket die Installation von PHP8.1 getriggert hat und dann einzelne Pakete zu deinstallieren und die richtigen zu installieren. Ich habe in der Zwischenzeit auch schon wieder Updates auf 8.0.15 erhalten, mit denen es keine Probleme gab, somit denke ich, das nun alles ok ist.
Ok, vielen Dank noch einmal fĂŒr die Hilfe.
By the way, ich habe einige Konfig-Dateien ĂŒberprĂŒft. Sie wurden nicht aktualisiert. Ich habe meine Ănderungen darin gefunden. Die Ănderungen kommentiere ich durch Kommentarzeilen. Ab sofort fange ich damit an, auch die einzelnen Dateien aufzuschreiben, die ich Ă€ndere.
Da ich mich jetzt im Forum angemeldet habe, werde ich gleich einen Weiteren Beitrag aufmachen.
sollten sie auch nicht. Apt fragt normalerweise bei einem Upgrade auf eine neue Version, ob er sie ĂŒberscherieben soll oder die alte behalten soll. Da aber mit PHP theoretisch auch mehrere Versionen parallel installiert sein können, hat jede Hauptversion sowieso seine eigene Config Datei.
Btw. mit âapt removeâ, werden nur die Pakete entfernt, die dazugehörigen Config Files bleiben erhalten. Mit âapt purgeâ werden die Pakete und die Config Files entfernt.
Beides kann nĂŒtzlich sein, jenachdem was man erreichen will bzw. wo das Problem liegt.
Eine gute Doku ist nicht zu unterschÀtzen. Hat mir schon ein paarmal den A**** gerettet. Kein Mensch kann sich alle merken, was er jemals irgendwann irgendwo konfiguriert hat.