Update auf Version 34 -> Neuinstallation

Hallo,

ich habe seit Jahren Nextcloud auf meiner eigenen Domain am laufen. In der letzten Zeit habe ich aber das Update nicht gemacht und war bei Version 26 und wollte den Web Updater starten. Dieser hat aber seinen Dienst verweigert. Ich habe in den Dokus gefunden dass ich das nur manuell Updaten kann und habe das per FTP gemacht. Alte Daten gesichert, neue downgeloadete Installation geladen und die config.php aus der Sicherung überkopiert,.

Nun bekomme ich dieses Bild:

Wenn ich Aktualisierung starten klicke bekomme ich diese Meldung;

Weiter geht es leider nicht mehr. Was habe ich falsch gemacht ?

Man kann immer nur von einer Version zur nächsten aktualisieren. Mit anderen Worten du hättest nacheinander von 26 → 27 → 28 → 29 → 30 → 31 → 32 → 33 → 34 alles nacheinander aktualisieren müssen.

So wie ich deinen Beitrag lese hast du das nicht gemacht.

PS: das wären 8 Updates gewesen, was zeitaufwändig ist. Ich hätte da vorher die Daten gesichert und gleich 34 frisch und ganz neu installiert und dann die gesicherten Daten wieder zurück kopiert.

Hallo,

habe ich doch beschrieben, dass ich das gemacht habe

Was ich meine ist aber, dass du genmäß Upgrade manually höttest vorgehen müssen. Dort gibt es einen Warnhinweis:

Warning
You cannot jump more than one major version forward at a time (i.e. 27->28 is okay, but 27->29 is not).

So verstehe ich deine kurze Beschreibung dessen, was du getan hast, aber eben nicht. Ich verstehe es so, dass du NC 26 hast, dann per FTP NC 34 ins System gepackt und dann config.php aus der Sicherung rüberkopiert. Mehr gibt deine kurze Beschreibung nicht her.

Hallo,

das bedeutet also dass ich alle Versionssprünge per FTP hochladen muss, danach jeweils die original cnfig.php reinkopieren, das Update starten und weiter ?

Das hätte es zumindest mal bedeutet.

Ich weiß nicht ob das nun noch möglich ist. Denn Downgrades sind auch nicht möglich und da du nun schon mal versuchst hast direkt von 26 zu 34 zu aktualisieren, weiß ich nicht ob die SQL- Datenbank dadurch nun schon verändert wurde.

Hast du ein vollständiges Backup von 26? Also sowohl von Kalender, Adressbuch, Datenbank, den Dateien im Nextcloud-Datenverzeichnis?

Wenn ja, könntest du den Ausgangszustand von 26 wiederherstellen.

Ansonsten bin ich jetzt auch etwas überfragt, ob man da noch was retten kann, außer eben Datenverzeichnis sichern (üblicherweise /var/nextcloud_data/) und dieses dann nach einer kompletten Neinstallation wiederherstellen und mittels sudo -u www-data php occ files:scan in die Datenbank importieren.

Aber vielleicht liest das ja hier noch wer mit weiterführenden Infos und schreibt dir.

Wo sehe ich denn welche Version ich zuletzt hatte ? Die kompletten Daten haben ich gesichert

Das Backup besteht immer aus den Nextcloud-Programmen inkl. Konfigurationen, den Nextcloud-Dateien sowie einem Dump der Datenbank.

Nimm es mir nicht übel, aber ich habe da so meine Zweifel, dass du das wirklich alles gemacht hast.

Lies bitte: Backup und Restoring backup.

Die zuletzt (vor dem Backup) verwendete Version wäre im Web-Updater sichtbar gewesen, vor dem Backup. Wenn du den Nextcloud Desktop auf einem Client-PC verwendest, dann kannst du auch dort nachsehen, welche Version beim letzten synchronisieren auf dem Server installiert war.

  • Linux-Desktop: /home/<username>/.config/Nextcloud/nextcloud.cfg
  • Windows-Desktop: \Users\<username>\AppData\Roaming\Nextcloud\nextcloud.cfg
  • Mac: musst du selbst gucken, falls von dir genutzt

in dieser nextcloud.cfg sollte sich eine Zeile beginnend mit 0\serverVersion=finden. <username> ist natürlich durch den von dir verwendeten Benutzernamen (z.B. frank) zu ersetzen.

Moin, kannst du inzwischen sagen, was genau und wie du gesichert hast? Ws ist kaum möglich, dir zu helfen, wenn nicht klar ist was genau du bisher gemacht hast.

Moin, so jetzt mein Zwischenstand. Sorry für die späte Meldung aber das hat gedauert. Habe jetzt alle Versionen zwischen 27 und 34 nacheinander per FTP aktualisiert und bin nun auf stand Version 34. Alles fein. Habe meinen Data Ordner gesichert so dass ich die Dokumente nicht verliere. Kann ich diesen nun wieder über FTP einfach hochladen und alle Dateien sind wieder am Platz ?

Interessant ist, dass ich alle Dokumente unter dem FTP-Zugang der Domain sehe …

aber in der Nextcloud Oberfläche nicht angezeigt werden. Die config.php verweist auf die richtige Datenbank

Die Lösung für das Problem vor dem du nun stehst, hatte ich dir schon vor vier Tagen an die Hand gegeben: sudo -u www-data php occ files:scan --all (alle User) sudo -u www-data php occ files:scan <username> (nur ausgewählte User).

Sollte occ nicht gefunden werden (kein Pfad gesetzt) musst du eben den vollständigen Pfad zu occ mit angeben. Z.B.: sudo -u www-data php /var/www/nextcloud/occ files:scan --all.

Hallo, danke das ist nett von Dir. Allerdings habe ich erst heute das letzte Update hochgeladen und den Zusamenhang zu Deinem Tipp nicht vor vier Tagen umsetzen könne.

Ich bin der Anleitung von Nextcloud gefolgt, die sagt, dass man die alten Daten auf dem FTP-Server sichern soll und dann die Daten aus dem Ordner data wieder reinkopieren. Vielleicht habe ich das falsch gelesen.

Ich damit ein Problem, wie ich diesen Befehl ausführe. Habe das auch schon nachgelesen aber nicht verstanden.

2026-08-14 11_29_50-

Wie genau du dich per ssh auf dem Server anmeldest kann ich dir auch nicht sagen. Ich weiß ja nicht wo / bei wem deine Nextcloud gehostet wird. Aber wie es aussieht nicht bei dir auf einem eigenen Server.

Ich hoste selbst. Daher komme ich per ssh <ipv4-desServers> drauf, also z.B. ssh 192.168.100.2.

Wenn du also nicht selbst hostest, kontaktiere den Anbieter und frage diesen nach den Zugangsdaten per ssh

Noch ein Hinweis: solltest du keinen ssh-Zugang mit sudo(root)-Rechten beim Anbieter haben und auch nicht bekommen können, gibt es noch die Alternative die Daten aus der Sicherung per WebDAV auf den Server zu kopieren.

WebDav habe ich ja bisher genutzt um das Update hochzuladen also mit Filezilla auf den FTP der Domain aber die “Datas” sind zwar in dem Ordner “data” aber in der Weboberfläche zeigt es keine an

Nein, du hast FTP genutzt, nicht WebDAV. Das sind zwei paar Schuhe.

  • Standard-FTP überträgt Daten unverschlüsselt; für eine sichere Übertragung sollte SFTP oder FTPS verwendet werden. Genutzt werden bei FTP primär Port 21 (TCP) für den Steuerkanal (Befehle) und Port 20 (TCP) für den aktiven Datenkanal.
  • WebDAV ist eine Erweiterung des normalen Internet-Protokolls HTTP. Es nutzt die normalen Internet-Ports für verschlüsseltes Web (HTTPS), also TCP 443

Klugscheißmodus an: SFTP steht für SSH File Transfer Protocol und hat mit FTP eigentlich nichts zu tun. Und ja, das ist sicher, weil es SSH ist – sprich, so sicher, wie man SSH eben konfiguriert hat. Also hoffentlich mit Keys und nicht mit Password123$. :wink:

FTPS ist dagegen tatsächlich FTP, bei dem SSL/TLS drangepappt wurde, ähnlich wie STARTTLS bei SMTP. Sollte man heutzutage eigentlich nicht mehr ohne guten Grund verwenden, weil es aufwendiger einzurichten ist und bei einer nicht sauber implementierten Konfiguration diverse Angriffsvektoren bzw. Stolperfallen mit sich bringen kann.

Dann könnte man natürlich auch noch normales FTP über einen SSH-Tunnel laufen lassen, ist aber noch umständlicher. :wink:

Bis Vers. 31 hätte man @frank_gayer ja noch die Nutzung von OCC Web nahelegen können. Aber OCC Web wurde zuletzt vor fast eineinhalb Jahren aktualisiert und daher ist die letzte supportete Version die 31.

@frank_gayer liefere bitte Infos wo du hostest und welche Zugangsmöglichkeiten du neben FTP hast.

Nebenbei bemerkt: ich persönlich würde kein FTP nutzen. Das ist halt unsicher und stammt noch aus der IT-Steinzeit, als die IT in DE noch EDV genannt wurde und die Hacker noch den Akustikkoppler nutzten :wink:

Jetzt aber mal unabhängig davon, wie die Dateien hochgeladen wurden, sollte er doch occ-Kommandos ausführen können, auch ohne occ web, wenn er SSH-Zugriff hat.

@frank_gayer occ ist ein PHP-Skript, sprich, es muss über das PHP-CLI-Binary und im Kontext des Webserver-Users ausgeführt werden. Deshalb steht in der Nextcloud-Doku auch sudo -u www-data php davor. Damit wird auf einem Debian-/Ubuntu-System das occ-Skript im Kontext des Webserver-Users (www-data) ausgeführt.

Auf einem Shared Hosting musst du den User-Kontext in der Regel nicht ändern, um PHP-Skripte auszuführen, weil dein User, mit dem du dich einloggst, bereits auf genau diesen Kontext beschränkt ist. Du musst aber normalerweise den Pfad zum PHP-Binary angeben.

In deinem Fall könnte das Kommando dann z.B. so aussehen:

/usr/bin/php /pfad/zum/nextcloudordner/occ files:scan --all

Den genauen Befehl bzw. den Pfad zum PHP-Binary bzw. wie genau du PHP-Skripte ausführen kannst, findest du in der Dokumentation deines Providers.