Nextcloud-Dateisperrwarnung mit Redis beseitigen

Um die Warnung von Nextcloud bezüglich transaktionaler Dateisperrungen zu beheben, stellen Sie zunächst sicher, dass die Sperrung aktiviert ist. Konfigurieren Sie anschließend ein persistentes, Redis-kompatibles Backend wie Redis oder Valkey. Auf einer kleinen Instanz kann Nextcloud standardmäßig das Datenbank-Sperr-Backend verwenden. Für einen Produktionsserver oder eine gemeinsam genutzte Arbeitslast ist die Redis-basierte Sperrung die übliche Wahl, da sie den Sperrverkehr zur Datenbank reduziert. Weisen Sie Memcached keine Dateisperren zu: Nextcloud warnt davor, dass zwischengespeicherte Werte unerwartet verloren gehen können.

Wählen Sie das passende Locking-Backend für Ihren Server.

Die transaktionale Dateisperrung schützt Dateivorgänge vor Schreibkonflikten und kann Sperren aufheben, wenn ein Upload oder eine andere Transaktion unterbrochen wird. Sie trägt dazu bei, Datenbeschädigungen im Normalbetrieb zu vermeiden, insbesondere bei der Arbeit mit gemeinsam genutzten Dateien und externem Speicher. Sie verhindert nicht, dass zwei Personen gleichzeitig dasselbe Dokument bearbeiten, und zeigt auch keine Anwesenheitsanzeigen an; sie steuert lediglich gleichzeitige Speichervorgänge. Weitere Informationen finden Sie in der Dokumentation zur transaktionalen Dateisperrung von Nextcloud 35 .

  • Datenbank-Backend: Nextcloud verwendet standardmäßig Datenbanksperren. Dadurch wird ein zusätzlicher Dienst vermieden und die Sperrung kann für eine kleine private Installation ausreichend sein, sie erhöht jedoch die Serverlast. Wenn Sie lediglich eine Warnung auf einem wenig ausgelasteten Server beheben, prüfen Sie zunächst, ob die Sperrung nicht explizit deaktiviert wurde.
  • Redis mit phpredis: Ideal für etablierte Einzelserver- und Clusterumgebungen. Erforderlich sind ein Redis-kompatibler Server, die PHP-Redis-Erweiterung sowie entsprechende Verbindungseinstellungen in Nextcloud.
  • KeyValueCache mit Redis oder Valkey: Verfügbar ab Nextcloud 34.0.2. Es nutzt die in Nextcloud integrierte Bibliothek und benötigt daher keine PHP-Redis-Erweiterung. Dies ist hilfreich, wenn die Erweiterung nicht verfügbar ist. Nextcloud weist jedoch darauf hin, dass ein externer KeyValue-Server zusätzlichen Netzwerk-Overhead verursachen kann.
  • Memcached: Es kann für verteiltes Caching verwendet werden, ist aber für transaktionale Dateisperren ungeeignet, da Cache-Werte verworfen werden können. Vermeiden Sie es daher memcache.locking.

Für einen kleinen Heimserver kann die Datenbank-Sperrung ausreichend sein, sofern keine Sperrwarnungen vorliegen und die Datenbank nicht stark ausgelastet ist. Für stark ausgelastete Instanzen, mehrere Anwendungsserver oder wenn Dateisperren außerhalb der Datenbank verwaltet werden sollen, empfiehlt sich Redis oder Valkey. Die aktuellen Nextcloud-35-Richtlinien zum Speicher-Caching empfehlen APCu für den lokalen Cache und Redis für die Sperrung in gängigen Einzelserver-Bereitstellungen. Webknoten in einem Cluster müssen alle denselben Redis- oder Valkey-Endpunkt bzw. Cluster verwenden.

Prüfen Sie, ob die Sperre deaktiviert wurde.

Suchen Sie die aktive Nextcloud-Konfigurationsdatei, üblicherweise config/config.phpim Nextcloud-Installationsverzeichnis. Erstellen Sie eine Sicherungskopie, bevor Sie Änderungen vornehmen. Suchen Sie nach ` <locking-config>` filelocking.enabledund ` memcache.locking<locking-config>`. Die Konfigurationsreferenz legt die Sperrung standardmäßig auf aktiviert fest. Sollten Sie einen expliziten Wert `false` finden, ändern Sie ihn in `true` oder entfernen Sie diese Überschreibung.

'filelocking.enabled' => true,

Fügen Sie keine zweite Kopie eines bestehenden Schlüssels hinzu. PHP-Konfigurationsarrays sollten für jede Einstellung genau einen gültigen Wert enthalten. Wenn Sie einen Container oder ein Managed-Hosting-Panel verwenden, nehmen Sie Änderungen über den zugehörigen Konfigurationsmechanismus vor, damit diese auch nach Upgrades oder Neuinstallationen erhalten bleiben. Die Nextcloud-35-Admin-Warnung beschreibt die Sperrwarnung und verlinkt zu den Backend-Anforderungen.

Redis-Sperren auf einem einzelnen Server konfigurieren

Unter Debian oder Ubuntu sehen Paketnamen üblicherweise so aus: `<php.php>` und `<php.php>`. redis-serverVerwenden php-redisSie die Pakete Ihrer Distribution und achten Sie darauf, dass das PHP-Modul zur PHP-Version Ihres Webservers passt. Wenn Sie das klassische Redis-Backend verwenden, installieren und starten Sie den Redis-Dienst und stellen Sie sicher, dass die PHP-Redis-Erweiterung für die Web-SAPI aktiviert ist. Ein PHP-Modul, das nur über die Kommandozeile (CLI) verfügbar ist, beweist nicht, dass es von PHP-FPM oder Apache geladen werden kann.

Fügen Sie dem bestehenden Array das Sperr-Backend und die Verbindungsdetails hinzu config.php. In diesem Beispiel wird davon ausgegangen, dass Redis auf demselben Rechner läuft, auf localhost Port 6379 lauscht und für den Nextcloud-PHP-Prozess erreichbar ist:

'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
    'host' => 'localhost',
    'port' => 6379,
    'timeout' => 0.0,
],

Legen Sie Authentifizierungsdaten fest, falls Ihr Redis-Server diese benötigt. Vermeiden Sie es, Redis dem öffentlichen Internet auszusetzen; beschränken Sie den Zugriff auf den Host oder ein privates Netzwerk und konfigurieren Sie Authentifizierungs- und Firewall-Regeln. Verwenden Sie für einen Unix-Socket den Socket-Pfad als Redis-Host und Port 0 und stellen Sie sicher, dass der Webserver-Benutzer auf diesen Socket zugreifen kann. Kopieren Sie die localhost-Einstellungen nicht in eine Multi-Server-Umgebung, es sei denn, Redis befindet sich tatsächlich lokal und wird konsistent gemeinsam genutzt; alle Nextcloud-Anwendungsknoten müssen auf dasselbe Backend zugreifen.

Wenn die PHP-Redis-Erweiterung nicht verfügbar ist

Ab Nextcloud 34.0.2 kann KeyValueCache ohne separat installierte PHP-Erweiterung eine Verbindung zu Redis oder Valkey herstellen. Konfigurieren Sie das Backend und den Key-Value-Speicher wie folgt und ersetzen Sie dabei Host und Zugangsdaten durch die Werte Ihrer Umgebung:

'memcache.locking' => '\OC\Memcache\KeyValueCache',
'memcache.kvstore' => [
    'server' => [
        'host' => 'localhost',
        'port' => 6379,
    ],
],

Konfigurieren Sie Redis und KeyValueCache nicht gleichzeitig als konkurrierende Sperranbieter. Beachten Sie die Nextcloud-Dokumentation bezüglich Anmeldeinformationen, TLS, Sockets, Sentinel und Clustertopologie, anstatt ein Einzelserverbeispiel durch Ausprobieren anzupassen.

Starten Sie den Computer neu und überprüfen Sie, ob die Reparatur erfolgreich war.

Starten Sie den Redis-kompatiblen Dienst neu, wenn Sie dessen Konfiguration geändert haben. Starten Sie anschließend den Webserver oder den PHP-FPM-Prozess neu, falls Sie eine PHP-Erweiterung installiert oder aktiviert haben. Überprüfen Sie den Dienststatus anhand des Dienstnamens Ihrer Distribution, z. B. systemctl status redis-serverauf vielen Debian- oder Ubuntu-Systemen. Stellen Sie sicher, dass der Dienst aktiv ist und der PHP-Prozess eine Verbindung herstellen kann. Container-Bereitstellungen sollten den Redis-Dienstnamen im Containernetzwerk verwenden, nicht localhost, es sei denn, beide Dienste teilen sich einen Netzwerk-Namespace.

Melden Sie sich als Administrator bei Nextcloud an und aktualisieren Sie die Administrationsübersicht. Die Warnung zur Transaktionsdateisperrung sollte verschwinden, sobald das konfigurierte Backend verfügbar und die Einstellung geladen ist. Laden Sie eine Testdatei hoch, laden Sie sie herunter und synchronisieren Sie sie. Überprüfen Sie anschließend die Nextcloud- und PHP-Protokolle, falls ein Redis-Verbindungs- oder Berechtigungsfehler auftritt. Eine weiterhin bestehende Warnung deutet in der Regel auf einen Tippfehler, einen doppelten Konfigurationsschlüssel, die falsche PHP-Erweiterung/SAPI, eine blockierte Netzwerkverbindung, fehlerhafte Socket-Berechtigungen oder ein nicht erreichbares Backend hin. Beheben Sie diese spezifische Ursache, anstatt die Sperrung zu deaktivieren.

Für einsatzspezifische Optionen konsultieren Sie bitte die versionierten offiziellen Referenzen, bevor Sie die Topologie ändern: Transaktionale Dateisperrung , Speichercaching und Redis/Valkey-Konfiguration sowie Konfigurationsparameter .

Einen Kommentar hinterlassen

Nextcloud-Dateisperrwarnung mit Redis beseitigen

Aktivieren Sie die zuverlässige Nextcloud-Dateisperrung, wählen Sie das richtige Redis- oder Valkey-Backend und überprüfen Sie, ob die Warnung verschwindet, ohne dass gleichzeitige Dateiänderungen riskiert werden.

Was nötig ist, um eine A+-Sicherheitsbewertung für Nextcloud zu erreichen

Was nötig ist, um eine A+-Sicherheitsbewertung für Nextcloud zu erreichen

Behebt häufige Nextcloud-Scan-Fehler durch aktuelle Updates, HTTPS und HSTS, präzises Reverse-Proxy-Trust und Überprüfungen gegen den öffentlichen Server.

Aktivieren Sie die serverseitige Verschlüsselung von Nextcloud mit messbaren Auswirkungen

Konfigurieren Sie Nextcloud SSE für den Speicher, der es benötigt, schützen Sie die Verschlüsselungsschlüssel und messen Sie die Übertragungs- und CPU-Auswirkungen, bevor Sie vorhandene Dateien verschlüsseln.

Füge die Elasticsearch-Volltextsuche zu Nextcloud hinzu

Verbinden Sie die Dateisuche von Nextcloud mit Elasticsearch, indizieren Sie Dokumentinhalte und wählen Sie eine Konfiguration, die Ihren Server- und Sicherheitsanforderungen entspricht.

Legen Sie eine zuverlässige Ablaufrichtlinie für gelöschte Nextcloud-Dateien fest.

Legen Sie eine zuverlässige Ablaufrichtlinie für gelöschte Nextcloud-Dateien fest.

Konfigurieren Sie Nextcloud so, dass gelöschte Dateien nach einer festgelegten Aufbewahrungsfrist entfernt werden, Hintergrundprozesse zuverlässig geplant werden und Befehle vermieden werden, die den Papierkorb aller Benutzer leeren.

Warnung „Fehlende Datenbankindizes in Nextcloud“ löschen

Warnung „Fehlende Datenbankindizes in Nextcloud“ löschen

Führen Sie die OCC-Reparatur von Nextcloud sicher durch, sehen Sie sich die Datenbankänderungen in der Vorschau an und prüfen Sie, warum die Warnung möglicherweise weiterhin angezeigt wird.

Nextclouds Upload-Limit über 2 GB hinaus erhöhen

Nextclouds Upload-Limit über 2 GB hinaus erhöhen

Ermöglichen Sie größere Nextcloud-Browser-Uploads, indem Sie die Einstellungen für PHP, Nginx oder Apache, temporären Speicher und Timeout aufeinander abstimmen – und überprüfen Sie, welches Limit die Datei blockiert.

Nextclouds PHP-Speicherwarnung auf dem Webserver beheben

Stellen Sie das PHP-Speicherlimit ein, das Nextcloud tatsächlich verwendet, starten Sie den richtigen Dienst neu und bestätigen Sie die Einstellung von 512 MB in der Admin-Übersicht.

Verbinden Sie einen S3-kompatiblen Bucket mit dem externen Speicher von Nextcloud.

Binden Sie einen kompatiblen Objektspeicher-Bucket in Nextcloud mithilfe des S3-Backends ein, und zwar mit dem richtigen Endpunkt, den richtigen Anmeldeinformationen, dem richtigen Zugriffsbereich und den richtigen Verifizierungsschritten.

Nextcloud-Daten auf ein externes Laufwerk verschieben, ohne den Speicherplatz zu beschädigen

Nextcloud-Daten auf ein externes Laufwerk verschieben, ohne den Speicherplatz zu beschädigen

Sicheres Verschieben eines Linux Nextcloud-Datenverzeichnisses auf ein externes Laufwerk mithilfe einer persistenten UUID-Einbindung, des Wartungsmodus, einer verifizierten Kopie und des Symlinks des ursprünglichen Pfads.