Rimuovi l'avviso di blocco dei file di Nextcloud con Redis
Abilita il blocco affidabile dei file in Nextcloud, scegli il backend Redis o Valkey più adatto e verifica che l'avviso scompaia senza rischiare modifiche simultanee ai file.
Per eliminare l'avviso di Nextcloud relativo al blocco dei file transazionali, assicurati innanzitutto che il blocco sia abilitato, quindi configura un backend persistente compatibile con Redis, come Redis o Valkey. Su un'istanza di piccole dimensioni, Nextcloud può utilizzare per impostazione predefinita il suo backend di blocco basato su database; per un server di produzione o un carico di lavoro condiviso, il blocco basato su Redis è la scelta più comune perché riduce il traffico di blocco verso il database. Non assegnare blocchi di file a Memcached: Nextcloud avverte che i valori memorizzati nella cache potrebbero scomparire inaspettatamente.
Il blocco transazionale dei file protegge le operazioni sui file da scritture in conflitto e può rilasciare i blocchi quando un caricamento o un'altra transazione viene interrotta. Aiuta a prevenire il danneggiamento dei file durante il normale funzionamento, incluso il lavoro che coinvolge file condivisi e archiviazione esterna. Non impedisce a due persone di modificare lo stesso documento contemporaneamente né fornisce indicatori di presenza; controlla i salvataggi simultanei. Consultare la documentazione di Nextcloud 35 sul blocco transazionale dei file .
memcache.locking.Per un piccolo server domestico, il blocco del database potrebbe essere sufficiente se non vengono visualizzati avvisi di blocco e non vi è pressione sul database. Scegli Redis o Valkey per istanze con un elevato carico di lavoro, server applicativi multipli o quando desideri che i blocchi dei file vengano gestiti al di fuori del database. Le attuali linee guida di Nextcloud 35 per la cache in memoria raccomandano APCu per la cache locale e Redis per il blocco nelle implementazioni comuni a server singolo. I nodi web in cluster devono utilizzare tutti lo stesso endpoint o cluster Redis o Valkey.
Individua il file di configurazione attivo di Nextcloud, solitamente config/config.phpnella directory di installazione di Nextcloud. Esegui un backup prima di modificarlo. Cerca filelocking.enablede memcache.locking. Il riferimento alla configurazione imposta il blocco su abilitato per impostazione predefinita; se trovi un valore esplicitamente falso, cambialo in vero o rimuovi tale override.
'filelocking.enabled' => true,
Non aggiungere una seconda copia di una chiave esistente. Gli array di configurazione PHP devono contenere un solo valore effettivo per ogni impostazione. Se utilizzi un container o un pannello di hosting gestito, apporta le modifiche tramite il relativo meccanismo di configurazione supportato, in modo che persistano dopo gli aggiornamenti o le ridistribuzioni. Il riferimento all'avviso di amministrazione di Nextcloud 35 identifica l'avviso di blocco e fornisce collegamenti ai requisiti del backend.
Su Debian o Ubuntu, i nomi dei pacchetti sono generalmente simili redis-servera e php-redis; usa i pacchetti della tua distribuzione e abbina il modulo PHP alla versione di PHP utilizzata dal server web. Se utilizzi il backend Redis classico, installa e avvia il servizio Redis e verifica che l'estensione PHP Redis sia abilitata per la SAPI web. Un modulo PHP eseguibile solo da riga di comando non garantisce che PHP-FPM o Apache possano caricarlo.
Aggiungi il backend di blocco e i dettagli di connessione all'array esistente config.php. Questo esempio presuppone che Redis sia in esecuzione sulla stessa macchina, in ascolto sulla porta 6379 di localhost e accessibile al processo PHP di Nextcloud:
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379,
'timeout' => 0.0,
],
Imposta i dettagli di autenticazione se il tuo server Redis li richiede. Evita di esporre Redis a Internet pubblico; limitane l'accesso all'host o alla rete privata e configura le regole di autenticazione e del firewall. Per un socket Unix, utilizza il percorso del socket come host Redis e porta 0 e assicurati che l'utente del server web possa accedere a tale socket. Non copiare le impostazioni di localhost in una distribuzione multi-server a meno che Redis non sia effettivamente locale e condiviso in modo coerente; tutti i nodi dell'applicazione Nextcloud devono puntare allo stesso backend.
Su Nextcloud 34.0.2 o versioni successive, KeyValueCache può connettersi a Redis o Valkey senza la necessità di installare un'estensione PHP separata. Configura il backend e il key-value store come segue, sostituendo l'host e le credenziali con i valori del tuo ambiente:
'memcache.locking' => '\OC\Memcache\KeyValueCache',
'memcache.kvstore' => [
'server' => [
'host' => 'localhost',
'port' => 6379,
],
],
Non configurare Redis e KeyValueCache contemporaneamente come provider di blocco concorrenti. Segui la documentazione di Nextcloud per credenziali, TLS, socket, Sentinel o topologia del cluster, anziché adattare un esempio a server singolo in modo approssimativo.
Se hai modificato la configurazione del servizio, riavvia il servizio compatibile con Redis; se invece hai installato o abilitato un'estensione PHP, riavvia il server web o il processo PHP-FPM. Verifica lo stato del servizio utilizzando il nome del servizio specifico per la tua distribuzione; ad esempio, systemctl status redis-serversu molti sistemi Debian o Ubuntu. Assicurati che il servizio sia attivo e che il processo PHP possa connettersi. Nelle distribuzioni in container, è consigliabile utilizzare il nome del servizio Redis sulla rete del container, non localhost, a meno che entrambi i servizi non condividano lo stesso namespace di rete.
Accedi a Nextcloud come amministratore e aggiorna la panoramica di amministrazione. L'avviso di blocco dei file transazionali dovrebbe scomparire quando il backend configurato è disponibile e l'impostazione è caricata. Carica, scarica e sincronizza un file di prova, quindi controlla i log di Nextcloud e PHP per verificare se viene visualizzato un errore di connessione o di autorizzazione a Redis. Un avviso persistente di solito indica un errore di battitura, una chiave di configurazione duplicata, un'estensione PHP/SAPI errata, una connessione di rete bloccata, autorizzazioni socket errate o un backend irraggiungibile. Correggi la causa specifica anziché disabilitare il blocco.
Per le opzioni specifiche di implementazione, consultare i riferimenti ufficiali con le relative versioni prima di modificare la topologia: Blocco dei file transazionali , Cache in memoria e configurazione di Redis/Valkey e parametri di configurazione .
Abilita il blocco affidabile dei file in Nextcloud, scegli il backend Redis o Valkey più adatto e verifica che l'avviso scompaia senza rischiare modifiche simultanee ai file.
Risolvi i problemi più comuni riscontrati durante le scansioni di Nextcloud con gli aggiornamenti più recenti, HTTPS e HSTS, una configurazione precisa del proxy inverso e verifiche rispetto al server pubblico.
Configura Nextcloud SSE per lo spazio di archiviazione che lo richiede, proteggi le chiavi di crittografia e misura l'impatto sul trasferimento dati e sulla CPU prima di crittografare i file esistenti.
Collega la ricerca file di Nextcloud a Elasticsearch, indicizza il contenuto dei documenti e scegli una configurazione adatta alle esigenze del tuo server e della tua sicurezza.
Configura Nextcloud per rimuovere i file eliminati dopo un periodo di conservazione definito, pianifica in modo affidabile le attività in background ed evita i comandi che svuotano il cestino di tutti gli utenti.
Esegui in modo sicuro la riparazione OCC di Nextcloud, visualizza in anteprima le modifiche al database e verifica il motivo per cui l'avviso potrebbe persistere.
Consenti il caricamento di file di dimensioni maggiori nel browser Nextcloud allineando le impostazioni di PHP, Nginx o Apache, dello spazio di archiviazione temporaneo e del timeout, e verifica quale limite sta bloccando il file.
Imposta il limite di memoria PHP effettivamente utilizzato da Nextcloud, riavvia il servizio corretto e conferma l'impostazione di 512 MB nella Panoramica di amministrazione.
Monta un bucket di object storage compatibile in Nextcloud utilizzando il suo backend S3, con l'endpoint, le credenziali, l'ambito di accesso e i passaggi di verifica corretti.
Spostare in modo sicuro una directory di dati Nextcloud su Linux verso un'unità esterna utilizzando un mount UUID persistente, la modalità di manutenzione, una copia verificata e il collegamento simbolico del percorso originale.