Wie Nextcloud 16 updaten

Hallo Profis!
Ich bin ein bisschen ratlos: Ich habe eine Nextcloud - leider schon lÀnger nicht geupdated - in der Version 16 irgendwas. Nun hat mein Hoster die PHP-Version auf mindestens 7.4 hoch gezogen. Damit lÀuft die 16er nicht und auch ein manuelle Update auf die 17er scheint nicht möglich.
Beim Update wird mir angezeigt, dass die php-Version nicht höher als 7.3 sein darf.

Was kann ich tun?
Die php-Version kann ich nicht nach unten drehen. 7.4 ist Minimum.
Kann ich direkt auf eine höhere Version updaten?
Oder wie kann ich das Problem in den Griff bekommen?

FĂŒr sachdienliche Hinweise danke ich sehr!

Eine Nextcloud enthĂ€lt Dateien (die (zum GlĂŒck) einfach in der Dateistruktur rumliegen) sowie auch weitere Informationen, die in der Datenbank (meist MariaDB) gespeichert werden. Hierzu gehören z. B. Benutzername, E-Mail, Daten von Anwendungen wie Deck aber auch alle gesharten Links usw.

Wenn es dir primĂ€r um die Daten geht und du alles neu bauen kannst (Benutzeranlage, Informationen in Apps, alle Links neu machen usw.) so kannst du einfach die Daten aus der Cloud sichern (/pfad/zur/nextcloud/data/username, sichere aber alles und dump die Datenbank) und in eine vollkommen neue Nextcloud wieder importieren (nur die Daten je Anwender). Wie das geht erfĂ€hrst du auf RĂŒckfrage. Du musst auch dann noch z. B. php occ files:scan --all ausfĂŒhren).

Ich gehe mal davon aus, dass du einen Webhoster hast. Vielleicht wĂ€re es sinnvoller fĂŒr Nextcloud eine Managed Nextcloud zu besorgen. Dann kĂŒmmern sich andere Personen um deine Nextcloud. Diese gibt es teilweise bis 10 GB kostenlos (mit gewissen EinschrĂ€nkungen). Vielleicht dir dein aktueller Hoster auch eine Managed Nextcloud. 500 GB bis 1 TB kosten aktuell vielleicht 5 Euro im Monat.

Vom Upgrade rate ich ab. Du musst alle Zwischenversionen mit installieren. Da die PHP-Version wohl nicht mehr unterstĂŒtzt wird, mĂŒsstest du wahrscheinlich dein altes System backupen, Datenbank dumpen, lokal auf ein Testsystem (alte Version) installieren, dort mit den korrekten Softwareversionen (inkl. PHP) von Nextcloud 16 ĂŒber 17, 18, 19, 20, 21, 22, 23 zu 24 upgraden und dann könntest du es wieder dort hochladen.

Vielen Dank fĂŒr die schnelle Antwort.
Ja, die Daten sind am wichtigsten und vor allem der Passwort-Tresor.
Schön wĂ€re natĂŒrlich, wenn die Einstellungen auch noch da wĂ€ren.
Welche Version (niedrigste) ist den php 7.4 fÀhig?

Oder kann man in nextcloud die php-VersionsprĂŒfung irgendwie unterbinden?
Denn so groß dĂŒrfte der Versionssprung von einer funktionierenden 7.3 zu einer 7.4 Version ja eigentlich nicht sein.
Edit: habe hier eine Möglichkeit gefunden, scheint fĂŒr 17 zu funktionieren laut Artikel:

Oder lÀsst sich das DB-Uptade aus den einzelnen Versionen extrahieren?
Dann mĂŒsste die Datenbank doch auch zu einer neueren Version passen.

Oder ist das alles zu einfach gedacht?

Vielleicht. Aber das kann natĂŒrlich zu Fehlern fĂŒhren, die du nie wieder beheben kannst. Ich gehe davon aus, dass du vorher ein Backup machst.

Ich habe nicht ganz verstanden, was du meinst. Aber jede Nextcloud-Version ist fĂŒr spezielle PHP- und z. B. MariaDB-Versionen freigegeben. Vielleichst hast du GlĂŒck und du schaffst den Upgrade zu Nextcloud 17 irgendwie. Aber wie gesagt du musst noch ziemlich viele Versionen durchziehen. Ich weiß auch nicht wie einfach/schwierig das ist, da diese ja gar nicht mehr supportet werden. Aber du kannst es ja ausprobieren. Denn das ĂŒbt.

Vielen Dank fĂŒr Deine UnterstĂŒtzung.

Mit dem letzten Absatz meinte ich, dass - so stelle ich es mir zumindest laienhaft vor - das Problem ja nicht die Dateien sind, die tauscht man ja bei einer manuellen Installation komplett aus, sondern nur die fehlenden “Updates” an der Datenbank.
Die man aus dem restlichen Updateprozess ja herauslösen könnte und direkt in der Datenbank ausfĂŒhren könnte. – Soweit meine Laiensicht :slight_smile:

Ich habe jetzt einfach mal den gefundenen Tipp probiert. Eine 17er Version entpackt, die config.php kopiert und die versionscheck.php angepasst, wie im Link beschrieben.
Was soll ich sagen, es scheint tatsÀchlich geklappt zu haben. Meine nextcloud ist wieder per Internet erreichbar und es scheint auch alles zu funktionieren.
Ich werde noch ein bisschen testen und dann weiter updaten, bis ich bei einer einigermaßen aktuellen Version bin :wink:

NatĂŒrlich fĂŒhrt aktuell der IntegritĂ€tscheck zu einem Fehler wegen der “gepatchten” Datei, aber sonst sieht alles wie gewohnt aus.

Results
=======
- core
	- INVALID_HASH
		- lib/versioncheck.php

Also Ende gut - alles gut (hoffentlich)

1 Like

Dan bleibe jetzt aber bitte nicht auf 17, sondern update mindestens bis 22, am besten gleich bis 24, denn 1.) Ist nicht garantiert, dass das jederzeit so wieder funktioniert, zumindest nicht ohne Probleme und 2.) erhÀlt 17 keine Sicherheitsupdaes mehr. Die Àlteste noch supportete Version ist 22.

Ja. Das hatte ich ja oben schon geschrieben.
Aktuell bin ich bei 20, aber jetzt wird mir ein kleiner Fehler angezeigt:
PHP configuration option output_buffering must be disabled
Mal sehen, was ich damit mache, kann man den ignorieren?

Ich habe mal die Lösung rausgesucht. Fehler sollte man immer beheben.

Wahrscheinlich in .htaccess eintragen:
php_flag output_buffering Off

For the record, the answer is to use proper php syntax in .htaccess:
php_flag output_buffering Off
instead of php_value output_buffering Off

False "output_buffering must be disabled" warning

Ja, klar. Das hatte ich ja schon geschrieben :wink:
Es war auch nicht geplant, dass das so lÀuft. Aber irgendwie vergisst man es oder schiebt es auf

Ich bin daher ein großer Fan von Long Term Versionen :smiley:

Komisch, das mit der EMail-Antwort scheint nicht so zu klappen - na egal


Ich habe mal in den .htaccess-Dateien geschaut.
ein php_flag output_buffering Off bzw. php_value output_buffering Off
gibt es so direkt und exakt nicht.
Folgendes habe ich gefunden: php_value output_buffering 0
sollt das dann zu php_flag output_buffering Off geÀndert werden?

@antilet
Eher nein. Einfach die Zeile zusÀtzlich eintragen hÀtte ich vermutet.

Ich weiß im ĂŒbrigen nicht, ob du folgenden Befehl ausfĂŒhren musst. Ich weiß nicht, ob damit deine .htaccess zur Kenntnis genommen wird oder umgekehrt die .htaccess neu geschrieben wird. Vielleicht weiß jemand mehr. Aber ausfĂŒhren des Befehls sollte nicht schaden. :wink:

sudo -u www-data php occ maintenance:update:htaccess

Dokumentation

Vielen Dank fĂŒr deine schnelle Antwort.
So scheint es nicht zu funktionieren.
Ich habe jetzt beide Wege probiert, der “Fehler” wird weiter angezeigt bzw. fĂŒhrt zu einem Fehler und nix geht mehr.
sudo -u www-data php occ maintenance:update:htaccess setzt ĂŒbrigens die .htaccess wieder zurĂŒck, so dass die selbst gemachten Änderungen wieder weg sind.

Edit:
Ich habe die Lösung gefunden. Ich betreibe meine Nextcloud bei Uberspace.de, da gibt es eine Doku fĂŒr die Nextcloud, wo beschrieben ist, wie man das Problem behebt.
Damit konnte ich gleich noch ein anderes Problem mit lösen (apc.enable_cli=1)

Vielen Dank nochmal fĂŒr die UnterstĂŒtzung!

1 Like