Die Entwicklung der quelloffenen Cloud Lösung von Nextcloud schreitet konsequent bereit. Nachdem Version 20 nun einige Wartungspakete erhielt, sah ich nun den geeigneten Zeitpunkt zum Versionssprung gekommen. Dabei bin ich nicht ins Terminal, sondern hatte alles via Browserfenster durchgeführt.
Sicherung anlegen
Um im Fehlerfall keine Bauchlandung zu erleiden sollte zuvor eine Sicherung der Nextcloud Instanz durchgeführt werden. Dies erledige ich via Terminal:
Hier wird angenommen, dass die Nextcloud Instanz unter dem Benutzer „www-data“ betrieben wird.
cd /var/www/nextcloud/
sudo -u www-data php occ maintenance:mode --
on
sudo tar -cpzf /Pfad/zu/Deiner/Sicherung/NextcloudBackup_FileDir_date +"%Y%m%d".tar.gz -C /var/www/nextcloud .
mysqldump --single-transaction -h HOSTNAME -u DBADMINNAME -p DBADMINPW > /Pfad/zu/Deiner/Sicherung/NextcloudBackup_DB_date +"%Y%m%d".sql
cd /var/www/html/nextcloud/
sudo -u www-data php occ maintenance:mode
--off
Ihr müsst entsprechend die Pfade und Benutzer an Eure Konfiguration adaptieren.
Upgrade durchführen
Als Admin an der NC Instanz anmelden, dann unter Einstellungen -> Übersicht -> Version geht es los.
Ich hatte das Upgrade nicht via Kommandozeile, sondern grafisch durchgeführt. Das lief erstaunlich geschmeidig durch und dauerte keine zehn Minuten.
Anmeldung und Dashboard
Nach der Anmeldung landet man im Dashboard. Eine der großen Neuerungen von Nextcloud 20. Ein Bilck unter Einstellungen -> Übersicht informiert uns ob noch Nacharbeiten nötig sind, was in meinem Fall auch zutreffend war.

Nacharbeiten
Dieser Teil ist individuell. Was bei mir gelistet war, kann bei Dir anders sein. Vielleicht hast Du mehr oder weniger aufgelistet. Je nachdem musst Du hier etwas recherchieren. Ich gehe kurz auf die bei mir anstehenden Tätigkeiten ein:
In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das Hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen kann, wurden diese nicht automatisch erzeugt. Durch das Ausführen von “occ db:add-missing-indices” können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.
Fehlender Index "cards_abiduri" in der Tabelle "oc_cards".
Lösung:cd /var/www/nextcloud
sudo -u www-data php occ db:add-missing-indices
In der Datenbank fehlen einige Primärschlüssel. Aufgrund der Tatsache, dass das Hinzufügen von Primärschlüsseln bei großen Tabellen einige Zeit dauern konnte, wurden sie nicht automatisch hinzugefügt. Durch Ausführen von “occ db:add-missing-primary-keys” können diese fehlenden Primärschlüssel manuell hinzugefügt werden, während die Instanz weiter läuft.
Fehlender Primärschlüssel auf Tabelle "oc_federated_reshares".
Fehlender Primärschlüssel auf Tabelle "oc_systemtag_object_mapping".
Fehlender Primärschlüssel auf Tabelle "oc_comments_read_markers".
Fehlender Primärschlüssel auf Tabelle "oc_collres_resources".
Fehlender Primärschlüssel auf Tabelle "oc_collres_accesscache".
Fehlender Primärschlüssel auf Tabelle "oc_filecache_extended".
Lösung:cd /var/www/nextcloud
sudo -u www-data php occ db:add-missing-primary-keys
Bei einigen Spalten in der Datenbank fehlt eine Konvertierung in big int. Aufgrund der Tatsache, dass das Ändern von Spaltentypen bei großen Tabellen einige Zeit dauern kann, wurden sie nicht automatisch geändert. Durch Ausführen von “occ db:convert-filecache-bigint” können diese ausstehenden Änderungen manuell übernommen werden. Diese Operation muss ausgeführt werden, während die Instanz offline ist. Weitere Einzelheiten finden Sie auf der zugehörigen Dokumentationsseite.
federated_reshares.share_id
share_external.id
share_external.parent
Lösung:
cd /var/www/nextcloud/
sudo -u www-data php occ maintenance:mode --on
Apache stoppensudo service apache2 stop
Konvertierensudo -u www-data php occ db:convert-filecache-bigint
Apache startensudo service apache2 start
Maintenance Modus aus
cd /var/www/html/nextcloud/
sudo -u www-data php occ maintenance:mode --off
Das alte serverseitige Verschlüsselungsformat ist aktiviert. Wir empfehlen, es zu deaktivieren. Für weitere Einzelheiten sehen Sie bitte in die Dokumentation.
https://docs.nextcloud.com/server/20/admin_manual/configuration_files/encryption_migration.html
Testensudo -u www-data php occ encryption:scan:legacy-format
Hier hatte ich keinen weiteren Handlungsbedarf.
Fazit
Der Sprung auf Version 20 verlief problemlos. Leider sind immer Nacharbeiten nötig. Damit muss man immer rechnen. Wer die Instanz selbst betreibt, muss auch selbst ran. Wer das nicht mag, sollte lieber eine managed Nextcloud instanz bei einem Anbieter buchen. Da wird das abgenommen.
Diese Nextcloud Instanz hat nun schon mehrere Versionssprünge hinter sich. Es lief immer klaglos, allerdings waren auch immer Nacharbeiten nötig. Da dies auf Debian läuft, waren auch beim Versionswechsel von Stretch auf Buster Tätigkeiten nötig. Aber auch bei den Versionssprüngen fehlen hinterher eigentlich immer ein paar Indexes oder Schlüssel. Die Lösung bzw. die Syntax steht dabei, sodass das Risiko gering ist aber der Aufwand halt nunmal nötig.
Insgesamt war der Aufwand überschaubar und hielt sich in Grenzen. Ich bereue den Wechsel nicht und bin mit Nextcloud 20 sehr zufrieden. Mit dieser Instanz ist nun die letzte meiner Instanzen von 19 auf 20 gehüpft. Nur Mut, es klappt schon. Aber niemals ohne Sicherung zuvor loslegen!
0 Comments