Nextcloud-Wartungsmodus-Problem mit OCC beheben

Sie haben ein Nextcloud-Update abgeschlossen, aber alle sehen weiterhin die Wartungsseite. Oder ein Upgrade wurde unterbrochen und die Website ist nicht wieder online. Der OCC-Befehl zum Deaktivieren des Wartungsmodus ist kurz, aber seine Ausführung vor der Überprüfung des Upgrade-Status kann eine unvollständige Installation aufdecken. Prüfen Sie zunächst, welche Nextcloud-Instanz Sie verwalten und ob ein Datenbank-Upgrade noch erforderlich ist.

Beispiel: Stellen Sie sich ein kleines Büro vor, in dem Nextcloud auf Ubuntu läuft. Ein geplantes Update wurde nach der Bereitstellung neuer Code-Dateien unterbrochen, und die Webseite zeigt weiterhin den Wartungsmodus des Servers an. Dieses Beispiel ist hypothetisch; es dient als Diskussionsgrundlage für die unten beschriebenen Prüfungen und ist kein Bericht über einen realen Vorfall oder Test.

Was bedeutet der Wartungsmodus?

Der Wartungsmodus von Nextcloud blockiert den normalen Benutzerzugriff, während ein Administrator Arbeiten wie ein Upgrade oder eine Datensicherung durchführt. Da es sich um einen serverweiten Zustand handelt, kann es vorkommen, dass Benutzern eine Wartungsmeldung angezeigt wird, selbst wenn der Webserver selbst läuft. Das aktuelle Nextcloud-Administrationshandbuch beschreibt den OCC-Befehl zum Aktivieren oder Deaktivieren dieses Modus und weist darauf hin, dass Benutzer ihren Browser nach der Deaktivierung möglicherweise aktualisieren müssen.

Im Beispielbüro zeigt die Wartungsseite allein dem Administrator nicht an, ob das Upgrade abgeschlossen ist. Er muss Nextcloud selbst abfragen, bevor er den Modus ändern kann.

Schritt 1: Installationstyp und OCC-Pfad bestätigen

Die hier aufgeführten Befehlsbeispiele beziehen sich auf eine herkömmliche, archivbasierte Nextcloud-Installation unter Ubuntu, wobei sich der Code im Verzeichnis `/etc/nextcloud/` befindet /var/www/nextcloudund das Webserver-Konto den Namen `/etc/ nextcloud/` trägt www-data. Die Nextcloud-Dokumentation occbefindet sich im Installationsverzeichnis und muss als HTTP-Benutzer ausgeführt werden; unter Debian und Ubuntu ist dies normalerweise der Benutzer `/etc/nextcloud/` www-data.

Geben Sie für dieses Standardlayout das Installationsverzeichnis ein:

cd /var/www/nextcloud

Befinden sich Ihre Nextcloud-Dateien an einem anderen Ort, verwenden Sie diesen Pfad. Snap, Docker, Appliances und Managed Hosting verwenden unterschiedliche Befehlszeilen oder Dateisystemstrukturen. Führen Sie den Host-Befehl nicht für eine Containerinstallation aus und gehen Sie nicht davon aus, dass der Archivpfad für diese Bereitstellungen gilt. Befolgen Sie die Aktualisierungsanweisungen für Ihre Installationsmethode, wie im offiziellen Nextcloud-Upgrade-Leitfaden beschrieben .

Im Bürobeispiel prüft der Administrator die Bereitstellungshinweise und bestätigt, dass es sich um eine Archivinstallation handelt, bevor er OCC ausführt.

Schritt 2: Überprüfen Sie den Status von Nextcloud, bevor Sie die Wartung deaktivieren.

Führen Sie OCC als Webserver-Konto aus, damit Dateien und Konfigurationen die erwarteten Eigentumsrechte behalten:

sudo -E -u www-data php occ status

Schauen Sie sich die Felder „ maintenanceund“ an needsDbUpgrade. Aktuelle Versionen unterstützen auch einen Status-Exit-Code:

sudo -E -u www-data php occ status -e
echo $?

Die dokumentierten Exit-Codes sind hilfreich, wenn die Ausgabe von einem Skript überprüft wird: 0steht für normalen Betrieb, 1bedeutet, dass der Wartungsmodus aktiviert ist, und 2bedeutet, occ upgradedass eine Wartung erforderlich ist. Die Statusausgabe sollte ebenfalls überprüft werden; der Exit-Code allein reicht nicht aus, um zu entscheiden, ob die Website wieder geöffnet werden soll.

Für den hypothetischen Büroserver gilt: Wenn needsDbUpgradedie Bedingung wahr ist oder status -eden Wert zurückgibt 2, ist der richtige nächste Schritt, das Upgrade abzuschließen und nicht einfach den Wartungsmodus auszuschalten.

Schritt 3: Schließen Sie zuerst ein unvollständiges Upgrade ab.

Wurde ein Nextcloud-Code-Upgrade absichtlich durchgeführt und meldet OCC, dass ein Datenbank-Upgrade erforderlich ist, erstellen oder überprüfen Sie vor dem Fortfahren ein aktuelles Backup der Datenbank, der Konfiguration und der Daten. Führen Sie anschließend den dokumentierten Befehl im Installationsverzeichnis aus:

sudo -E -u www-data php occ upgrade

Lesen Sie die Befehlsausgabe und warten Sie, bis der Vorgang abgeschlossen ist. Unterbrechen Sie ihn nicht, da die Webseite während der Migrationen unverändert erscheint. Der integrierte Updater kann den Wartungsmodus aktiviert lassen, wenn der Codeaustausch occ upgradefehlschlägt. Falls der Updater den Codeaustausch nicht vollständig abgeschlossen hat, folgen Sie dem Protokoll und setzen Sie den entsprechenden Updater-Prozess für Ihre Installation fort, anstatt direkt zum nächsten Schritt zu springen . Die Anweisungen des integriertenmaintenance:mode --off Nextcloud -Updaters erläutern die einzelnen Update-Phasen und weisen auf das Updater-Protokoll als Diagnoseressource hin.

Im Beispiel würde der Büroadministrator den Befehl nur dann ausführen, occ upgradewenn der Status anzeigt, dass die Datenbankmigration noch aussteht und der erwartete neue Code vorhanden ist. Meldet der Befehl einen Fehler, bleibt der Server weiterhin nicht verfügbar, und der Fehler wird zunächst untersucht.

Schritt 4: Wartungsmodus mit OCC deaktivieren

Wenn das Upgrade abgeschlossen ist und der Status nicht mehr anzeigt, dass ein Datenbank-Upgrade erforderlich ist, deaktivieren Sie den Wartungsmodus mit dem in Nextcloud integrierten Befehl:

sudo -E -u www-data php occ maintenance:mode --off

Ein erfolgreicher Befehl meldet, dass der Wartungsmodus deaktiviert wurde. Dies ist die empfohlene Methode, um den Modus für eine Standardinstallation zu ändern; außerdem wird die Statusänderung innerhalb der Nextcloud-eigenen Befehlsschnittstelle vorgenommen, anstatt auf manuelle Änderungen angewiesen zu sein config.php.

Der Büroadministrator führt diesen Befehl nun erst nach Abschluss der Migration aus. Falls kein Upgrade durchgeführt wurde und der Status anzeigte, dass die Installation ansonsten bereit sei, kann derselbe Befehl ein nach einer geplanten Wartung verbliebenes Wartungsflag löschen.

Schritt 5: Überprüfen Sie den Status und die Weboberfläche.

Überprüfen Sie den Status erneut:

sudo -E -u www-data php occ status
sudo -E -u www-data php occ status -e

Bei erfolgreicher Installation erwarten Sie die Meldungen „OK“ maintenance: false, needsDbUpgrade: false„OK“ und den normalen Exit-Code „OK“ 0. Öffnen Sie die Website anschließend in einem neuen privaten Browserfenster und melden Sie sich mit einem Administratorkonto an. Bitten Sie einen normalen Benutzer, seinen Browser zu aktualisieren, bevor Sie davon ausgehen, dass seine Sitzung weiterhin blockiert ist.

Im dargestellten Szenario bedeutet Erfolg, dass sowohl der OCC-Status als auch die Webseite übereinstimmend anzeigen, dass die Instanz wieder online ist. Das hypothetische Beispiel behauptet nicht, dass tatsächlich ein Befehl ausgeführt oder ein realer Server repariert wurde.

Wenn die Wartungsseite bestehen bleibt

OCC behauptet, die Wartung sei falsch

Vergewissern Sie sich, dass Sie OCC auf derselben Installation ausgeführt haben, die die URL bereitstellt. Dies ist wichtig bei einer Load-Balancing-Umgebung, einem Docker-Host mit mehreren Containern oder einem Server, auf dem alte und neue Nextcloud-Verzeichnisse nebeneinander vorhanden sind. Überprüfen Sie das tatsächliche Dokumentenverzeichnis oder den Containerpfad und fragen Sie die Instanz hinter der betroffenen URL ab. Wenn jeder Webknoten über eine eigene Konfiguration verfügt, stellen Sie sicher, dass alle Knoten die vorgesehene Konfiguration und Datenbank gemeinsam nutzen.

Wenn die korrekte Instanz meldet, dass die Wartung deaktiviert ist, vergleichen Sie die Seite vom Ursprungsserver mit der öffentlichen URL. Möglicherweise liefert ein Reverse-Proxy oder Cache eine veraltete Antwort. Leeren oder umgehen Sie diesen Cache erst, nachdem Sie überprüft haben, welche Ebene die Wartungsseite bereitgestellt hat.

OCC kann nicht ausgeführt werden oder gibt einen PHP-Fehler zurück.

Prüfen Sie, ob der Befehl die mit der Webinstallation kompatible PHP-CLI-Version und die erforderlichen Erweiterungen verwendet. Nextcloud weist darauf hin, dass APCu für CLI-PHP standardmäßig deaktiviert ist und OCC-Fehler verursachen kann, wenn APCu als lokaler Cache konfiguriert ist. Im Handbuch ist beschrieben, wie man APCu apc.enable_cliin der CLI-PHP-Konfiguration aktiviert oder --define apc.enable_cli=1gegebenenfalls dem PHP-Befehl hinzufügt.

sudo -E -u www-data php --define apc.enable_cli=1 occ status

Verwenden Sie diese Methode nur, wenn der Fehler auf ein Problem mit der APCu-Befehlszeile hinweist; sie behebt nicht alle PHP-Fehler. Stellen Sie außerdem sicher, dass der Befehl als korrekter Webbenutzer und aus dem korrekten Installationsverzeichnis ausgeführt wird.

Das Datenbank-Upgrade ist weiterhin erforderlich.

Deaktivieren Sie die Wartungsoption nicht, um diesen Status zu verbergen. Überprüfen Sie die Ausgabe und die Protokolle des Updaters, stellen Sie sicher, dass die korrekte Nextcloud-Version installiert ist, und führen Sie das für Ihren Installationstyp empfohlene Upgrade durch. Weitere Informationen finden Sie in den offiziellen OCC -System- und Wartungsbefehlsreferenzdokumentenmaintenance:mode sowie statusim Befehlszeilen-Upgrade.

Halten Sie das Wartungsfenster unter Kontrolle

Durch Deaktivieren des Wartungsmodus können Benutzer wieder auf die Instanz zugreifen. Stellen Sie daher zunächst sicher, dass das Datenbank-Upgrade und alle erforderlichen Code-Austausche abgeschlossen sind. Vermeiden Sie es, Updater-Dateien manuell zu löschen oder die Wartungseinstellungen in der Konfigurationsdatei als erste Maßnahme zu bearbeiten. Dadurch können die Symptome verschleiert werden, ohne dass die Arbeiten abgeschlossen sind, die den Wartungsmodus ausgelöst haben.

Für das hypothetische Büro ist die sichere Vorgehensweise einfach: Überprüfen Sie die korrekte Installation, prüfen Sie den Status, führen Sie alle erforderlichen Aktualisierungen durch maintenance:mode --offund testen Sie anschließend sowohl OCC als auch den Browser. Falls die Aktualisierung nicht fehlerfrei abgeschlossen werden kann, lassen Sie den Wartungsmodus aktiviert und beheben Sie das Problem mithilfe des Updater-Protokolls oder der installationsspezifischen Wiederherstellungsprozedur.

Einen Kommentar hinterlassen

Die 10 besten Ping-Sweep-Tools zum Auffinden von Geräten in Ihrem Netzwerk

Die 10 besten Ping-Sweep-Tools zum Auffinden von Geräten in Ihrem Netzwerk

Vergleichen Sie 10 Ping-Sweep-Tools für die schnelle LAN-Erkennung, plattformübergreifende Scans und IP-Adressverwaltung. Erfahren Sie, was ein Sweep liefern kann – und was nicht.

Die 6 besten Netzwerkmanagement-Tools zur Leistungsüberwachung

Die 6 besten Netzwerkmanagement-Tools zur Leistungsüberwachung

Vergleichen Sie sechs Netzwerkmanagement-Tools für die Leistungsüberwachung, einschließlich SNMP-Abdeckung, Mapping, Warnmeldungen, Bereitstellungsmodelle und Kosten-Nutzen-Verhältnisse.

Die besten WLAN-Analysatoren für Windows, iOS und Android

Die besten WLAN-Analysatoren für Windows, iOS und Android

Vergleichen Sie die besten Wi-Fi-Analyseprogramme für Windows, iPhone und Android, einschließlich Tools für Kanalüberlastung, Signalabdeckung, Heatmaps und Netzwerk-Fehlerbehebung.

QoS in Netzwerken: Was Quality of Service bewirkt und wie es funktioniert

QoS in Netzwerken: Was Quality of Service bewirkt und wie es funktioniert

Erfahren Sie, was QoS in der Netzwerktechnik bedeutet, wie DSCP-Markierungen und Datenverkehrswarteschlangen Sprach-, Video- und Geschäftsanwendungen priorisieren und was QoS nicht beheben kann.

Beste SFTP-Server-Software für sichere Dateiübertragungen

Beste SFTP-Server-Software für sichere Dateiübertragungen

Vergleichen Sie zuverlässige SFTP-Server-Software für Windows und Linux, darunter OpenSSH, Bitvise, SolarWinds und SFTPGo. Finden Sie die passende Lösung für Ihre Sicherheits- und Dateitransferanforderungen.

Die 10 besten Tools zum Scannen und Analysieren drahtloser Geräte für Windows, iOS und Android

Die 10 besten Tools zum Scannen und Analysieren drahtloser Geräte für Windows, iOS und Android

Vergleichen Sie 10 Tools zum Scannen und Analysieren drahtloser Netzwerke für Windows, iOS und Android mit klaren Hinweisen zu Wi-Fi-Kanälen, Abdeckungskarten, LAN-Prüfungen und Plattformbeschränkungen.

Bewährte Methoden für die Netzwerküberwachung: Was sollte überwacht werden und welche Tools eignen sich?

Bewährte Methoden für die Netzwerküberwachung: Was sollte überwacht werden und welche Tools eignen sich?

Erstellen Sie eine praktische Netzwerküberwachung mit klarer Geräteabdeckung, nützlichen Leistungskennzahlen, umsetzbaren Warnmeldungen und einem Vergleich von SolarWinds NPM, PRTG und OpManager.

Die 7 besten IP-Adressverwaltungstools für Netzwerkteams

Die 7 besten IP-Adressverwaltungstools für Netzwerkteams

Vergleichen Sie sieben IP-Adressverwaltungstools für Subnetzerkennung, DNS- und DHCP-Koordination, Netzwerkinventarisierung und Open-Source-IPAM.

Die 10 besten Netzwerk-Scanner-Tools zur Erkennung von Geräten und IPs

Die 10 besten Netzwerk-Scanner-Tools zur Erkennung von Geräten und IPs

Vergleichen Sie Netzwerk-Scanner-Tools für die schnelle Geräteerkennung, plattformübergreifende IP-Scans und Enterprise IPAM mit Hinweisen zur Auswahl der passenden Option für Ihr Netzwerk.

Wie man Nmap für Traceroute verwendet und den Netzwerkpfad liest

Wie man Nmap für Traceroute verwendet und den Netzwerkpfad liest

Verwenden Sie die Option --traceroute von Nmap, um Hops einem autorisierten Host zuzuordnen, die Hop- und RTT-Ausgabe zu verstehen und fehlende Antworten zu beheben, ohne übermäßig zu scannen.