Maintenance Mode lässt sich weder aktivieren noch deaktivieren

Installation Nextcloud Hub 3 (25.0.1) auf einer Ubuntu 22.04 VM unter TrueNAS Scale.

Folgendes Problem tritt auf, Maintenance Mode lässt sich weder aktivieren noch deaktivieren

root@cloud:/var/www/nextcloud#
sudo -u www-data php occ maintenance:mode --on
Maintenance mode enabled

Befehl wird ordnungsgemäß aus geführt, Wartungsmodus angeblich aktiv. In der config.php der Nextcloud wird der Eintrag Maintenance Mode auf true gesetzt
Beim Aufruf der Cloud Website erscheint jedoch kein Wartungsmodus sondern weiterhin das Login Fenster. Beim Versuch den Wartungsmodus abzuschalten mit
sudo -u www-data php occ maintenance: mode --off
gibt es die folgende Meldung:
root@cloud:/var/www/nextcloud# sudo -u www-data php occ maintenance:mode --off
Maintenance mode already disabled
In diesem Fall wird aber die config.php nicht wieder auf false gesetzt, sondern es bleibt bei true.

Hat jemand eine Idee, woran das liegen kann? sudo -u www-data php occ maintenance:repair
hat jedenfalls nichts gebracht.

Schonmal mit WinSCP / Putty aufgeschaltet und in der config.php manuell false/true geändert?

Hallo Onno,

habe es über putty bereits mehrfach geändert, Reaktion darauf ist null, Seite bleibt erreichbar, kein Wartungsmodus wird angezeigt, wenn ich auf True setze
config

also ich hatte das mal letztens, das es nach einem Update im Wartungsmodus hing und sich nicht aktualisieren wollte,

ich hab mich per FTP eingeloggt und letztendlich mit einem normlen Texteditor in der config.php den wartungsmodusstatus geändert. Danach lief das Updateprozedere durch und Problem war behoben.

Daher meine anfängliche Idee …

Das Problem kenne ich ja auch, aber hier liegt das etwas anders. Ich kann die config.php auch mit einem Testeditor bearbeiten und per ftp hochladen, Ergebnis ist aber das gleiche, ich kriege keinen Wartungsmodus angezeigt.

Hi,

ich kenne das Verhalten von meinen Umgebungen auch. (Mehrere NC im Docker). Es scheint mir am Redis-Cache zu liegen. Immer wenn ich diesen leere oder etwas Zeit verstreichen lasse, greift auch der Wartungsmodus.

Grüße Swen

Eine Lösung gibt es aber wohl noch nicht für das Verhalten?

Hi,

klappt es den bei dir mit dem leeren des Caches?
Ich denke nicht, dass es eine Lösung geben wird. Wenn ich den Cache leere, funktioniert es. Verwende ich Redis nicht als Cache ist das Verhalten “Normal”. Damit ist es ein Redis-Thema und kein NC oder täusche ich mich da.

Durch HPB muss ich Redis einsetzten. Ich setzte den Warungsmodus einfach 10 Minuten früher und kann damit gut leben.

Grüße
Swen

Ich habe es noch nicht testen können, da ich noch eine Fehlermeldung erhalte, wenn ich an den Redis Server will
Could not connect to Redis at 127.0.0.1:6379: Connection refused

Hi,

sorry, ich war lange nicht hier.

Wie geht du vor?

redis-cli -h {hostname_IP} -p {port} -s {socket} -a {password} FLUSHDB
redis-cli -h {hostname_IP} -p {port} -s {socket} -a {password} FLUSHALL

Grüße Swen

Hallo allerseits,
ich habe hier das gleiche Problem, ebenfalls unter Ubuntu 22.04.
Nextcloud 25.0.3 brachte keine Besserung.
Die config.php wird nicht geändert, der Webserver zeigt keinen Wartungsmodus an:

root@cloud:/home/nca# sudo -u www-data php /var/www/nextcloud/occ config:system:set maintenance --value=false --type=bool
System config value maintenance set to boolean false
root@cloud:/home/nca# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode
Maintenance mode is currently disabled
root@cloud:/home/nca# grep "maintenance" /var/www/nextcloud/config/config.php
  'maintenance' => true,
  'maintenance_window_start' => 1,
root@cloud:/home/nca# sudo -u www-data php /var/www/nextcloud/occ config:system:set maintenance --value=true --type=bool
System config value maintenance set to boolean true
root@cloud:/home/nca# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode
Maintenance mode is currently disabled
root@cloud:/home/nca# grep "maintenance" /var/www/nextcloud/config/config.php
  'maintenance' => true,
  'maintenance_window_start' => 1,

Redis-Cache leeren hat auch nicht geholfen.
Auffällig ist dass wir beide Ubuntu 22.04 einsetzen. Da ich ausser diesem Thread nirgendwo etwas dazu finde werde ich wahrscheinlich meine Cloud nochmal komplett neu aufsetzen mit einem anderen OS :frowning:

schonmal versucht, den webserver (und evtl php-fpm) neu zu starten? macht ubuntu vielleicht irgendwas mit “snaps?”
GOOD LUCK!

Hi pete,
Dienste neu starten hatte keinen Effekt, mehrere Reboots der VM ebenfalls nicht.
Die Installationsanleitung (c-rieger.de) die ich verwendet habe benutzt keine snaps, aber ob das an anderer Stelle vielleicht dazwischen funkt kann ich nicht beurteilen (das ist mein erster Linuxserver).

root@cloud:/home/nca# grep "maintenance" /var/www/nextcloud/config/config.php
  'maintenance' => false,
  'maintenance_window_start' => 1,
root@cloud:/home/nca# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
Maintenance mode enabled
root@cloud:/home/nca# grep "maintenance" /var/www/nextcloud/config/config.php
  'maintenance' => true,
  'maintenance_window_start' => 1,
root@cloud:/home/nca# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode
Maintenance mode is currently disabled
root@cloud:/home/nca# redis-cli -s /var/run/redis/redis-server.sock flushall
OK
root@cloud:/home/nca# redis-cli -s /var/run/redis/redis-server.sock flushdb
OK
root@cloud:/home/nca# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode
Maintenance mode is currently disabled
root@cloud:/home/nca# systemctl restart redis-server
root@cloud:/home/nca# systemctl restart nginx
root@cloud:/home/nca# systemctl restart php8.1-fpm
root@cloud:/home/nca# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode
Maintenance mode is currently disabled
root@cloud:/home/nca# sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
Maintenance mode already disabled
root@cloud:/home/nca# grep "maintenance" /var/www/nextcloud/config/config.php
  'maintenance' => true,
  'maintenance_window_start' => 1,

Nachtrag:
Testweise habe ich jetzt noch

  • alle apps deaktiviert
  • crowdsec und fail2ban deinstalliert und neu gestartet
    Keine Besserung. Ich versuchs jetzt nochmal mit Ubuntu 20.04 und werde berichten.

Mit der Anleitung habe ich auch installiert.

Habe vor einigen Tagen meine NAS auf Scale umgestellt und wenn die beiden Festplatte die ich geordert habe da sind, werde ich eine neue Installation der Nextcloud auf diese Platten machen, mal sehen ob der Fehler dann immer noch da ist

das ist wirklich sehr seltsam. ich habe mir die verlinkte Installationsanleitung kurz angesehen - damit werden wirklich viele Einzelkomponenten installiert, die alle zusammen funktionieren müssen. Falls dein Server noch nicht produktiv ist, könntest du ein paar weglassen/deaktivieren und schauen, wie es sich dann verhält. Redis, Fail2ban und ufw wären mE die ersten Kandidaten dafür.
Ich meine, mich zu erinnern, dass es irgendeine PHP-Einstellung (oder eine Modul-Einstellung) gibt, die die Performance verbessert, aber auch dafür sorgt, dass alle PHP-Komponenten (auch httpd) neu gestartet werden müssen, wenn sich der Code ändert (ist bei maintencance-mode in config.php der Fall).
Was passiert, wenn der maintenance mode aktiv ist und man sich einloggt, wenn die Loginseite noch angezeigt wird (logs)?

(Falls du eine andere Distribution versuchen möchtest, kann ich Debian empfehlen. Ich betreue ein paar Instanzen und seit Generationen (Debian&Own-/Nextcloud) ist es wirklich völlig problemlos.)
GOOD LUCK!

Anmelden geht wie immer. Die nextcloud.log enthält nur den gleichen Eintrag immer wieder:

{"reqId":"W1t6SsPKwQ4hqnk9dnbX","level":3,"time":"2023-01-20T12:19:33+01:00","remoteAddr":")(entfernt)","user":"nc_admin","app":"PHP","method":"PROPFIND","url":"/remote.php/dav/files/nc_admin/","message":"disk_free_space(): No such file or directory at /var/www/nextcloud/lib/private/Files/Storage/Local.php#420","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0","version":"25.0.3.2","exception":{"Exception":"Error","Message":"disk_free_space(): No such file or directory at /var/www/nextcloud/lib/private/Files/Storage/Local.php#420","Code":0,"Trace":[{"function":"onError","class":"OC\\Log\\ErrorHandler","type":"::"},{"file":"/var/www/nextcloud/lib/private/Files/Storage/Local.php","line":420,"function":"disk_free_space"},{"file":"/var/www/nextcloud/lib/private/Files/Storage/Wrapper/Quota.php","line":110,"function":"free_space","class":"OC\\Files\\Storage\\Local","type":"->"},{"file":"/var/www/nextcloud/lib/private/legacy/OC_Helper.php","line":521,"function":"free_space","class":"OC\\Files\\Storage\\Wrapper\\Quota","type":"->"},{"file":"/var/www/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php","line":328,"function":"getStorageInfo","class":"OC_Helper","type":"::"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":770,"function":"getQuotaInfo","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/PropFind.php","line":95,"function":"Sabre\\DAV\\{closure}","class":"Sabre\\DAV\\CorePlugin","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":774,"function":"handle","class":"Sabre\\DAV\\PropFind","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"propFind","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1052,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":984,"function":"getPropertiesByNode","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1662,"function":"getPropertiesIteratorForPath","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1647,"function":"writeMultiStatus","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":346,"function":"generateMultiStatus","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPropFind","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/apps/dav/lib/Server.php","line":360,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/nextcloud/remote.php","line":171,"args":["/var/www/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/nextcloud/lib/private/Log/ErrorHandler.php","Line":92,"CustomMessage":"--"}}`

Das Loglevel hat ein ähnliches Problem wie der maintenance mode - es lässt sich zwar in der config ändern, wird aber nicht angewendet (es bleibt bei der Meldung oben, also loglevel 3):

root@cloud:/home/nca# sudo -u www-data  php /var/www/nextcloud/occ log:manage 
Enabled logging backend: file
Log level: Warning (2)
Log timezone: Europe/Berlin
root@cloud:/home/nca# sudo -u www-data  php /var/www/nextcloud/occ log:manage --level 0
Enabled logging backend: file
Log level: Debug (0)
Log timezone: Europe/Berlin
 root@cloud:/home/nca# sudo -u www-data  php /var/www/nextcloud/occ log:manage 
Enabled logging backend: file
Log level: Warning (2)
Log timezone: Europe/Berlin
root@cloud:/home/nca# grep "log" /var/www/nextcloud/config/config.php
  'cron_log' => true,
  'log_rotate_size' => '104857600',
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'loglevel' => '0',
  'logtimezone' => 'Europe/Berlin',

(reboot)

root@cloud:/home/nca# grep "log" /var/www/nextcloud/config/config.php
  'cron_log' => true,
  'log_rotate_size' => '104857600',
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'loglevel' => '0',
  'logtimezone' => 'Europe/Berlin',
root@cloud:/home/nca# sudo -u www-data  php /var/www/nextcloud/occ log:manage 
Enabled logging backend: file
Log level: Warning (2)
Log timezone: Europe/Berlin

Ich glaube dass ist jetzt wirklich der Moment zum Aufgeben.
Ich probiere es noch mal mit Debian, danke für den Tipp!

Hi,
habe eine NC Instanz bei einem Shared Hoster laufen - bzw. z.Zt. nicht laufen, da auch das Update schief lief und dauerhaft Maintenance Mode angezeigt wird.
@j.arp Konntest du den Wartungsmodus mittlerweile deaktivieren?
Bin gerade für jeden Hinweis dankbar …

Update:
Hatte auch eine Neuinstallation von NCv25.0.2 versucht und dann ein Update auf 25.0.3 versucht - gleiches Problem

Das ist schade.
Falls es noch aktuell ist: ich meinte eigentlich die Webserver-Logs.
Werden andere Einstellungen in der config.php berücksichtigt?
Falls nicht: Viel Erfolg bei der neuen Installation!

Ich hatte das Problem nach einem Update von Nextcloud Server 23.X auf 25.X
Das Update lief fehlerfrei, aber der Wartungsmodus hat sich, wie oben beschrieben, nicht deaktivieren lassen.

Die Lösung war hier

  1. Zuerst von 23.X auf 24.X
  2. Alle Fehler beseitigt
  3. Dann von 24.X auf 25.X
  4. Alle Fehler beseitigt