Verwijder de bestandsvergrendelingswaarschuwing van Nextcloud met Redis.

Om de waarschuwing van Nextcloud over transactionele bestandsvergrendeling te verhelpen, moet u eerst zorgen dat vergrendeling is ingeschakeld en vervolgens een persistente, Redis-compatibele backend configureren, zoals Redis of Valkey. Op een kleine instantie kan Nextcloud standaard de database-backend voor vergrendeling gebruiken; voor een productieserver of gedeelde workload is vergrendeling met Redis als backend de gebruikelijke keuze, omdat dit het vergrendelingsverkeer naar de database vermindert. Wijs geen bestandsvergrendelingen toe aan Memcached: Nextcloud waarschuwt dat gecachede waarden onverwacht kunnen verdwijnen.

Kies de vergrendelingsbackend die bij uw server past.

Transactionele bestandsvergrendeling beschermt bestandsbewerkingen tegen conflicterende schrijfbewerkingen en kan vergrendelingen opheffen wanneer een upload of andere transactie wordt onderbroken. Het helpt corruptie tijdens normaal gebruik te voorkomen, inclusief werk met gedeelde bestanden en externe opslag. Het voorkomt niet dat twee personen tegelijkertijd hetzelfde document bewerken en biedt geen aanwezigheidsindicatoren; het regelt gelijktijdige opslagbewerkingen. Zie de documentatie over transactionele bestandsvergrendeling in Nextcloud 35 .

  • Database-backend: Nextcloud gebruikt standaard databasevergrendeling. Dit voorkomt de noodzaak voor een extra service en kan voldoende zijn voor een kleine, persoonlijke installatie, maar databasevergrendeling zorgt wel voor extra belasting. Als u alleen een waarschuwing op een server met weinig gebruik wilt verwijderen, controleer dan eerst of de vergrendeling niet expliciet is uitgeschakeld.
  • Redis met phpredis: Een goede keuze voor bestaande single-server en clusteromgevingen. Het vereist een Redis-compatibele server en de PHP Redis-extensie, plus overeenkomende verbindingsinstellingen in Nextcloud.
  • KeyValueCache met Redis of Valkey: Beschikbaar vanaf Nextcloud 34.0.2. Het maakt gebruik van de meegeleverde Nextcloud-bibliotheek, waardoor een PHP Redis-extensie niet nodig is. Dit is handig wanneer de extensie niet beschikbaar is, hoewel Nextcloud opmerkt dat een externe key-value-server extra netwerkbelasting kan veroorzaken.
  • Memcached: Het kan gedistribueerde caching bieden, maar is niet geschikt voor transactionele bestandsvergrendelingen omdat cachewaarden verwijderd kunnen worden. Houd het buiten de context memcache.locking.

Voor een kleine thuisserver kan databasevergrendeling voldoende zijn als er geen waarschuwing voor vergrendeling is en er geen sprake is van databasedruk. Kies Redis of Valkey voor drukke instanties, meerdere applicatieservers of wanneer u wilt dat bestandsvergrendelingen buiten de database worden afgehandeld. De huidige Nextcloud 35-richtlijnen voor geheugencaching bevelen APCu aan voor lokale cache en Redis voor vergrendeling in gangbare implementaties met één server. Geclusterde webknooppunten moeten allemaal hetzelfde Redis- of Valkey-eindpunt of cluster gebruiken.

Controleer of de vergrendeling was uitgeschakeld.

Zoek het actieve Nextcloud-configuratiebestand, meestal config/config.phpin de installatiemap van Nextcloud. Maak er een back-up van voordat u het wijzigt. Zoek naar filelocking.enableden memcache.locking. De configuratie-referentie stelt vergrendeling standaard in op ingeschakeld; als u een expliciete waarde van 'false' vindt, wijzig deze dan in 'true' of verwijder die overschrijving.

'filelocking.enabled' => true,

Voeg geen tweede kopie van een bestaande sleutel toe. PHP-configuratie-arrays moeten één effectieve waarde per instelling bevatten. Als u een container of beheerd hostingpaneel gebruikt, breng dan wijzigingen aan via het ondersteunde configuratiemechanisme, zodat deze behouden blijven na upgrades of herimplementaties. De Nextcloud 35-beheerderswaarschuwing beschrijft de vergrendelingswaarschuwing en verwijst naar de vereisten voor de backend.

Configureer Redis-vergrendeling op één server.

Op Debian of Ubuntu zien pakketnamen er vaak zo uit : `<pakketnaam>` redis-serveren php-redis`<pakketnaam>`; gebruik de pakketten van uw distributie en zorg ervoor dat de PHP-module overeenkomt met de PHP-versie die door de webserver wordt gebruikt. Als u de klassieke Redis-backend gebruikt, installeer en start dan de Redis-service en controleer of de PHP Redis-extensie is ingeschakeld voor de web-SAPI. Een PHP-module die alleen via de commandline te gebruiken is, bewijst niet dat PHP-FPM of Apache deze kan laden.

Voeg de details van de vergrendelingsbackend en de verbinding toe aan de bestaande config.phparray. Dit voorbeeld gaat ervan uit dat Redis op dezelfde machine draait, luistert op localhost poort 6379 en toegankelijk is voor het Nextcloud PHP-proces.

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

Stel authenticatiegegevens in als uw Redis-server dit vereist. Voorkom dat Redis toegankelijk is via het openbare internet; beperk de toegang tot de host of het privénetwerk en configureer authenticatie- en firewallregels. Gebruik voor een Unix-socket het socketpad als Redis-host en poort 0, en zorg ervoor dat de webservergebruiker toegang heeft tot die socket. Kopieer geen localhost-instellingen naar een implementatie met meerdere servers, tenzij Redis daadwerkelijk lokaal is en consistent wordt gedeeld; alle Nextcloud-applicatieknooppunten moeten dezelfde backend gebruiken.

Wanneer de PHP Redis-extensie niet beschikbaar is

Op Nextcloud 34.0.2 of later kan KeyValueCache verbinding maken met Redis of Valkey zonder dat een aparte PHP-extensie hoeft te worden geïnstalleerd. Configureer de backend en de key-value store als volgt, waarbij u de host en eventuele inloggegevens vervangt door de waarden van uw omgeving:

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

Configureer Redis en KeyValueCache niet als concurrerende vergrendelingsproviders. Volg de Nextcloud-documentatie voor referenties, TLS, sockets, Sentinel of clustertopologie in plaats van een voorbeeld met één server op basis van gissingen aan te passen.

Start de computer opnieuw op en controleer of de oplossing werkt.

Start de Redis-compatibele service opnieuw als u de serviceconfiguratie hebt gewijzigd. Start vervolgens de webserver of het PHP-FPM-proces opnieuw als u een PHP-extensie hebt geïnstalleerd of ingeschakeld. Controleer de servicestatus met behulp van de servicenaam voor uw distributie; bijvoorbeeld systemctl status redis-serverop veel Debian- of Ubuntu-systemen. Controleer of de service actief is en of het PHP-proces verbinding kan maken. Containerimplementaties moeten de Redis-servicenaam op het containernetwerk gebruiken, niet localhost, tenzij beide services dezelfde netwerknaamruimte delen.

Meld u aan bij Nextcloud als beheerder en vernieuw het beheerdersoverzicht. De waarschuwing voor transactionele bestandsvergrendeling zou moeten verdwijnen zodra de geconfigureerde backend beschikbaar is en de instelling is geladen. Upload, download en synchroniseer een testbestand en controleer vervolgens de Nextcloud- en PHP-logboeken als er een Redis-verbindings- of machtigingsfout optreedt. Een waarschuwing die blijft bestaan, wijst meestal op een typefout, een dubbele configuratiesleutel, de verkeerde PHP-extensie/SAPI, een geblokkeerde netwerkverbinding, onjuiste socketmachtigingen of een onbereikbare backend. Los die specifieke oorzaak op in plaats van de vergrendeling uit te schakelen.

Raadpleeg voor implementatiespecifieke opties de officiële documentatie voordat u de topologie wijzigt: Transactionele bestandsvergrendeling , Geheugencaching en Redis/Valkey-configuratie , en configuratieparameters .

Laat een reactie achter

Wat er nodig is om een ​​A+ beveiligingsrating voor Nextcloud te behalen

Wat er nodig is om een ​​A+ beveiligingsrating voor Nextcloud te behalen

Los veelvoorkomende Nextcloud-scanbevindingen op met de nieuwste updates, HTTPS en HSTS, nauwkeurige reverse-proxy-vertrouwensinstellingen en controles op de openbare server.

Schakel Nextcloud-serverversleuteling in met meetbare impact.

Configureer Nextcloud SSE voor de opslag die het nodig heeft, bescherm de encryptiesleutels en meet de impact op de overdracht en het CPU-gebruik voordat u bestaande bestanden versleutelt.

Voeg Elasticsearch Full-Text Search toe aan Nextcloud

Koppel de bestandszoekfunctie van Nextcloud aan Elasticsearch, indexeer de inhoud van documenten en kies een configuratie die past bij uw server- en beveiligingsbehoeften.

Stel een betrouwbaar vervalbeleid in voor verwijderde bestanden in Nextcloud.

Stel een betrouwbaar vervalbeleid in voor verwijderde bestanden in Nextcloud.

Configureer Nextcloud om verwijderde bestanden na een bepaalde bewaartermijn te verwijderen, achtergrondtaken betrouwbaar in te plannen en opdrachten te vermijden die de prullenbak van elke gebruiker leegmaken.

Wis de Nextcloud-waarschuwing voor ontbrekende database-indexen.

Wis de Nextcloud-waarschuwing voor ontbrekende database-indexen.

Voer de OCC-reparatie van Nextcloud veilig uit, bekijk de wijzigingen in de database en controleer waarom de waarschuwing mogelijk blijft bestaan.

Verhoog de uploadlimiet van Nextcloud voor webbestanden tot boven de 2 GB.

Verhoog de uploadlimiet van Nextcloud voor webbestanden tot boven de 2 GB.

Sta grotere Nextcloud-browseruploads toe door PHP, Nginx of Apache, tijdelijke opslag en time-outinstellingen op elkaar af te stemmen en te controleren welke limiet het bestand blokkeert.

Wis de PHP-geheugenwaarschuwing van Nextcloud op de webserver.

Stel de PHP-geheugenlimiet in die Nextcloud daadwerkelijk gebruikt, herstart de juiste service en bevestig de instelling van 512 MB in het beheerdersoverzicht.

Verbind een S3-compatibele bucket met Nextcloud externe opslag.

Koppel een compatibele objectopslagbucket in Nextcloud met behulp van de S3-backend, met het juiste eindpunt, de juiste inloggegevens, het juiste toegangsbereik en de juiste verificatiestappen.

Verplaats Nextcloud-gegevens naar een externe schijf zonder de opslag te beschadigen.

Verplaats Nextcloud-gegevens naar een externe schijf zonder de opslag te beschadigen.

Verplaats een Nextcloud-gegevensmap op Linux veilig naar een externe schijf met behulp van een permanente UUID-mount, de onderhoudsmodus, een geverifieerde kopie en de symbolische link naar het oorspronkelijke pad.

Nextcloud-databasefout na een update: wat moet je eerst controleren?

Herstel de toegang tot Nextcloud na een update door SQL-fouten te diagnosticeren, de databaseverbinding te controleren en onderbroken migraties veilig af te ronden.