Nextcloud Hub 4 (26.0.1) @ DSM 7.1.1-42962 update 5 (Datenbank Update Problem)

hintmic

Benutzer
Mitglied seit
31. Mai 2020
Beiträge
28
Punkte für Reaktionen
1
Punkte
3
Hallo,

ich habe heute meiner NextCloud 25 auf 26 manuell aktualisiert.

NextCloud
\volume1\web\nextcloud ... kein Docker
\volume1\nextcloud ... Daten
Apache 2.4
PHP 8
Dazu habe ich folgende schritte durchgeführt:

1) Web Station gestoppt
2) \volume1\web\nextcloud => \volume1\web\nextcloud_backu
3) aktuelle Nextcloud "latest.zip" ins "\volume1\web\ kopiert und entpackt
\volume1\web\nextcloud
4) \volume1\web\nextcloud_backpu\config nach \volume1\web\nextcloud\config kopiert
5) Rechte über das Terminal mit Putty angepasst
- chown -R http:http /volume1/web/nextcloud
- chmod -R 0770 /volume1/web/nextcloud
6) PHP 8 über das Paket Zentrum installiert
7) PHP 8 Einstellungen vorgenommen
https://mariushosting.com/how-to-install-nextcloud-on-your-synology-nas/
8) Web Station, Apache, usw. gestartet
9) Nextcloud über den Browser und das Auto-Update durchgeführt

Die Nextcloud läuft ohne Pobleme, leider gibt es, wie nach jeden Upgrade meist ein paar kleine Fehler,
wie diese:

--- Datenbank Fehler ---
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 "fs_parent" in der Tabelle "oc_filecache".
  • Fehlender Index "properties_pathonly_index" in der Tabelle "oc_properties".
  • Fehlender Index "job_lastcheck_reserved" in der Tabelle "oc_jobs".
  • Fehlender Index "direct_edit_timestamp" in der Tabelle "oc_direct_edit".
  • Fehlender Index "preferences_app_key" in der Tabelle "oc_preferences".
  • Fehlender Index "mounts_class_index" in der Tabelle "oc_mounts".
Bei einigen Spalten in der Datenbank fehlt eine Konvertierung in big int. Da 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 Details findest du auf der zugehörigen Dokumentationsseite ↗.
  • file_metadata.id
--- Datenbank Fehler ---

Wenn ich über Putty im Termnal als root starte, kommt folgende Fehlermeldung

--- Fehler "occ db:add-missing-indices" ---
--- bzw. "./occ db:add-missing-indices" im /volume1/web/nexcloud Verzeichnis ---
root@VoxNetStation19:/volume1/web/nextcloud# ./occ db:add-missing-indices
An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)
--- Fehler "occ db:add-missing-indices" ---

Leider hat mir folgender Forum Link auch nicht geholfen

--- Forum Link --
https://www.synology-forum.de/threa...e-datenbank-aktualisieren.118338/#post-976199
--- Forum Link ---

Nun bin ich mit meinen Latein am Ende, da ich nicht so der Volle Profi bin :)
Kann mir hier jemand helfen?


Danke und Liebe Grüße,
hintmic
 

hintmic

Benutzer
Mitglied seit
31. Mai 2020
Beiträge
28
Punkte für Reaktionen
1
Punkte
3
Hallo,

auch diser Forum-Link funktioniert nicht

--- Forum Link ---
https://www.synology-forum.de/threa...-unter-nextcloud-26-0-1-und-dsm-7-1-1.126573/
--- Forum Link ---

--- was ich eingetragen habe ---
- sudo vi /usr/local/etc/php80/cli/conf.d/user_settings.ini
extension = apcu.so

[apc]
apc.enabled = 1
apc.enable_cli = 1
apc.shm_size = 2048M
opcache.enable = 1
opcache.enable_cli = 1
- chmod 644 /usr/local/etc/php80/cli/conf.d/user_settings.ini
--- was ich eingetragen habe ---

--- sudo ./occ db:add-missing-indices ---
root@VoxNetStation19:/volume1/web/nextcloud# sudo ./occ db:add-missing-indices
Console has to be executed with the user that owns the file config/config.php
Current user id: 0
Owner id of config.php: 1023
Try adding 'sudo -u #1023' to the beginning of the command (without the single quotes)
If running with 'docker exec' try adding the option '-u 1023' to the docker command (without the single quotes)
root@VoxNetStation19:/volume1/web/nextcloud# sudo -u #1023 ./occ db:add-missing-indices
sudo: option requires an argument -- 'u'
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
usage: sudo [-AbEHknPS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u user] file ...
--- sudo ./occ db:add-missing-indices ---

/usr/local/etc/php80/cli/conf.d/user_settings.ini ... habe ich noch nicht gelöscht

Wer kann helfen?


Danke und Liebe Grüße,
hintmic
 

TheGardner

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
1.836
Punkte für Reaktionen
51
Punkte
74
der Befehl müsste eigentlich lauten (unter /web/nextcloud):

sudo -u http php80 occ db:add-missing-indices
 

hintmic

Benutzer
Mitglied seit
31. Mai 2020
Beiträge
28
Punkte für Reaktionen
1
Punkte
3
Danke! jetzt hat es hingehauen!
Habe damit auch gleich den Schritt 2 machen können!

1) sudo -u http php80 occ db:add-missing-indices
2) sudo -u http php80 occ db:convert-filecache-bigint

3) /usr/local/etc/php80/cli/conf.d/user_settings.ini ... habe ich wieder entfernt

Danke nochmal für die Unterstützung!
 
Zuletzt bearbeitet von einem Moderator:

hintmic

Benutzer
Mitglied seit
31. Mai 2020
Beiträge
28
Punkte für Reaktionen
1
Punkte
3
Hallo,

naja, ich schleppe die manuelle Installation schon länger mit :)
Gehen würde es ja mit der DS718+, aber die arbeit umzustellen,
ist mir noch zu aufwendig :)
Vielleicht bei einen zukünftigen Wechsel auf einen andere NAS,
was ein größeres Projekt wird :)

Jedenfalls Danke für den Link-Tipp!
 
Zuletzt bearbeitet von einem Moderator:

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Die Installation hält sich in Grenzen. Bei der Datenbank kannst du die built-in der DS nehmen oder eine aktuelle in Docker. Ich würde mich an der NC Anleitung orientieren (Docker oder Github). Das ist wirklich nicht viel und geht sogar nebenbei.

Watchtower macht dann das Autoupdate im Hintergrund. Bei DSM 7.2 wird das manuelle Updaten aber ebenfalls sehr erleichtert.
 

hintmic

Benutzer
Mitglied seit
31. Mai 2020
Beiträge
28
Punkte für Reaktionen
1
Punkte
3
Danke EDvonSchleck!

vielleicht im Sommer, bis Anfang Juli habe ich einige Arbeiten zu erledigen :)
Die haben mal Prio 1

Aber sicher eine Gute Idee!

Auf jedenfall Danke!
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.047
Punkte für Reaktionen
328
Punkte
189
aktuelle Nextcloud "latest.zip" ins "\volume1\web\ kopiert und entpackt ..... \volume1\web\nextcloud

Im Grundsatz ist es mE. besser, die bisherige Installation umzubenennen, dann das Package entpacken, damit das jeweils neue Package "sauber" ist von der Struktur her. Dann die Config und Daten hart von alter zur neuen Installation kopieren, APPs kopieren so, dass vorhandene Dateien nicht überschrieben werden. Dann ebenso die Rechte usw. zurechtrücken.

Danach die Instanz starten, dann sollte auch sowas, wie mit der Datenbank eigentlich gut laufen.

Wenn Du die latest auf Deine Weise in die vorhandene Installation entpackst, wäre ich mir nicht sicher, ob alles einwandfrei überschrieben wird und ob ggf. Altkomponenten nicht irgendwie querschiessen.
 

hintmic

Benutzer
Mitglied seit
31. Mai 2020
Beiträge
28
Punkte für Reaktionen
1
Punkte
3
Hallo,

das habe ich auch so gemacht. Leider sind bei der Datenbankaktualisierung anscheinend noch ein paar Sachen offen geblieben.
Die konnten aber mit den obigen Punkten gut gelöst werden.
 
Zuletzt bearbeitet von einem Moderator:

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.242
Punkte für Reaktionen
586
Punkte
174
Dazu habe ich folgende schritte durchgeführt:
1) Web Station gestoppt
2) \volume1\web\nextcloud => \volume1\web\nextcloud_backu
3) aktuelle Nextcloud "latest.zip" ins "\volume1\web\ kopiert und entpackt
\volume1\web\nextcloud
4) \volume1\web\nextcloud_backpu\config nach \volume1\web\nextcloud\config kopiert
5) Rechte über das Terminal mit Putty angepasst
- chown -R http:http /volume1/web/nextcloud
- chmod -R 0770 /volume1/web/nextcloud
6) PHP 8 über das Paket Zentrum installiert
7) PHP 8 Einstellungen vorgenommen
https://mariushosting.com/how-to-install-nextcloud-on-your-synology-nas/
8) Web Station, Apache, usw. gestartet
9) Nextcloud über den Browser und das Auto-Update durchgeführt

All diese ganzen Schritte kann man bei einer nativen Nextcloud Instanz mit einem Update Befehl durchführen.
Ich bevorzuge selbst das Update über die Kommandozeile und gehe nicht über das WebUI.

Um zu prüfen ob ein Update verfügbar ist gibt es folgenden Befehl:
Bash:
sudo -u www-data php /var/www/html/nextcloud/occ update:check

Um das Update im nicht-interaktiven Modus (Batch Mode) durchzuführen gibt es folgenden Befehl:
Bash:
sudo -u www-data php /var/www/html/nextcloud/updater/updater.phar --no-interaction

Details hierzu findet man im Admin Manual: Batch mode for command line based updater
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.047
Punkte für Reaktionen
328
Punkte
189
Die Schritte sind theoretisch richtig auf eine konventionelle Ubuntu-Installation. Der CLI-Updater ist nichts anderes, wie der interne Updater, der über die GUI ausgelöst werden kann. Da dieser bei mir weder mit Owncloud oder auch Nextcloud selten mal gut funktioniert hat, gehe ich da lieber auf Nummer sicher. Abgesehen davon experimentiere ich zur Zeit mit einer VM,

https://www.hanssonit.se/nextcloud-vm/
https://download.kafit.se/s/dnkWptz8AK4JZDM

für welche die gezeigten Sequenzen passen und in welcher ich den CLI-Updater irgendwann teste, wenn v26.0.1 überholt ist.
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.242
Punkte für Reaktionen
586
Punkte
174
Der CLI-Updater ist nichts anderes, wie der interne Updater, der über die GUI ausgelöst werden kann.
Der wesentliche Unterschied des CLI Updaters im Vergleich zum WebUI ist, dass der CLI Updater keine Timeouts kennt und eben jeden einzelnen Schritt so lange ausführt wie es eben dafür dauert, ohne durch ein Timeout unterbrochen zu werden.
Ein Beispiel hierzu, dass der Download des Pakets etwas länger dauert als erwartet.

Ich nutze den CLI Updater selbst schon sehr lange und das verlief immer problemlos. Natürlich muss man im Anschluss die DB-Indizes usw. aktualisieren aber das ist eine andere Sache, die im Anschluss noch separat erfolgen muss.
 
  • Like
Reaktionen: Tuxnet und Fusion


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat