Come configurare la cache Redis per Nextcloud su Ubuntu 24.04

Il manuale di amministrazione di Nextcloud attualmente disponibile documenta ancora l'estensione PhpRedis per la memorizzazione nella cache Redis e il blocco transazionale dei file. Documenta anche un backend più recente, KeyValueCache, senza estensione, aggiunto in Nextcloud 34.0.2. Questa guida utilizza la configurazione PhpRedis consolidata perché Ubuntu 24.04 fornisce il pacchetto di estensione Redis per PHP 8.3. Il backend più recente è un'opzione disponibile se la versione di Nextcloud in uso lo supporta, ma le sue chiavi di configurazione sono diverse; non confondere i due esempi.

Il risultato sarà un servizio Redis locale disponibile solo sull'host Nextcloud, con cache distribuita e blocco dei file basati su Redis e APCu per una cache locale più veloce. Questa è una configurazione comune per server singoli. Se i server web e PHP sono distribuiti su host diversi, utilizzare un endpoint Redis condiviso con controlli di rete appropriati anziché le impostazioni localhost descritte di seguito.

Quali modifiche apporta Redis a un'installazione di Nextcloud?

Redis offre a Nextcloud un servizio chiave-valore per le voci di cache distribuite e i blocchi transazionali dei file. Questi blocchi aiutano a prevenire operazioni in conflitto quando più richieste accedono agli stessi file. Redis non sostituisce il database, l'archiviazione dei file, PHP OPcache o il piano di backup di Nextcloud. Su un singolo server, APCu è generalmente più veloce per la memorizzazione nella cache locale in-process, mentre Redis gestisce la cache e i blocchi condivisi. Nextcloud avverte inoltre che l'utilizzo di Redis come cache locale non è consigliato, soprattutto in presenza di più server web.

Il manuale più recente di Nextcloud identifica Redis come backend supportato e specifica PhpRedis 2.2.6 o versioni successive per il metodo basato su estensioni. L'archivio dei pacchetti di Ubuntu 24.04 include php8.3-redise redis-server. Le revisioni dei pacchetti possono cambiare con la pubblicazione degli aggiornamenti di Ubuntu, quindi installa dai repository di Ubuntu configurati anziché bloccare una versione copiata da una guida precedente. Riferimenti controllati il ​​6 ottobre 2026: documentazione sulla cache di memoria di Nextcloud , elenco dei pacchetti PhpRedis di Ubuntu 24.04 e elenco dei pacchetti del server Redis di Ubuntu 24.04 .

Prima di iniziare

  • Conferma la directory di installazione di Nextcloud e il runtime PHP utilizzato dal sito web. I comandi seguenti presuppongono un'installazione standard del pacchetto Ubuntu con PHP 8.3, Apache o PHP-FPM e l'account del servizio web www-data.
  • Esegui un backup config/config.phpe prendi nota di come ripristinarlo. Il percorso esatto varia: ad esempio, l'installazione di un pacchetto potrebbe utilizzare /var/www/nextcloud/config/config.php, mentre un'installazione manuale potrebbe trovarsi altrove.
  • Se il server gestisce caricamenti di file attivi, è necessario utilizzare una finestra di manutenzione. Il riavvio di Apache o PHP-FPM interrompe brevemente le richieste web.

1. Installa Redis, PhpRedis e APCu

Aggiorna i metadati del pacchetto e installa il demone e le estensioni PHP:

sudo apt update
sudo apt install redis-server php-redis php-apcu

Il pacchetto di Ubuntu php-redisseleziona l'estensione per la versione di PHP installata. Se gestisci più versioni di PHP o utilizzi un repository PHP di terze parti, verifica che l'estensione sia installata per la versione esatta di PHP in uso su Nextcloud. Un modulo abilitato solo per l'ambiente di runtime PHP da riga di comando non garantisce che Apache o PHP-FPM possano caricarlo.

Abilita Redis all'avvio del sistema e avvialo ora, quindi verifica lo stato del servizio:

sudo systemctl enable --now redis-server
sudo systemctl status redis-server --no-pager
redis-cli ping

Una risposta Redis locale sana all'ultimo comando è PONG. Se il servizio è inattivo, controlla sudo journalctl -u redis-server -n 50 --no-pagerprima di modificare la configurazione di Nextcloud.

2. Mantieni il listener Redis locale

Per un'installazione su un singolo host, Redis non ha bisogno di essere in ascolto su un'interfaccia pubblica. La configurazione predefinita di Ubuntu è normalmente progettata per l'accesso locale e la modalità protetta; si consiglia di verificarla /etc/redis/redis.confprima di modificarla.

sudo grep -E '^(bind|protected-mode|port|unixsocket)' /etc/redis/redis.conf

Mantieni Redis associato all'interfaccia di loopback (comunemente 127.0.0.1e ::1) e lascia la modalità protetta abilitata. Non esporre la porta 6379a Internet né associarla a 0.0.0.0per questa configurazione locale. Dopo qualsiasi modifica alla configurazione di Redis, riavvia il servizio e ripeti redis-cli ping.

Questa guida utilizza TCP su localhost per ridurre al minimo le modifiche ai permessi del socket. Un socket Unix è un'altra opzione locale supportata e può ridurre l'overhead di connessione, ma il percorso del socket Redis, la proprietà del gruppo, i permessi e la configurazione di Nextcloud devono corrispondere. Segui l'esempio di socket presente nel manuale di Nextcloud se scegli deliberatamente questa strada.

3. Conferma che PHP può caricare entrambe le estensioni

Verifica i moduli PHP da riga di comando:

php -m | grep -Ei '^(apcu|redis)$'

Dovresti vedere entrambi i nomi. Se uno dei due manca, controlla i file dei moduli abilitati php --inie installa il pacchetto corrispondente per la tua versione di PHP. Riavvia il gestore PHP utilizzato dal sito web in modo che i suoi worker carichino i nuovi moduli. Per Apache con mod_php, esegui sudo systemctl restart apache2. Per un'installazione PHP-FPM che utilizza PHP 8.3, esegui sudo systemctl restart php8.3-fpm; riavvia o ricarica il server web a seconda delle esigenze della tua distribuzione.

Il controllo tramite CLI è un primo segnale utile, ma non una prova completa del runtime web. Successivamente, utilizza le impostazioni di amministrazione di Nextcloud e la relativa visualizzazione delle informazioni sul server o sulle informazioni PHP per verificare che il processo web riconosca i moduli della cache.

4. Aggiungi le impostazioni della cache a Nextcloud

Apri il file esistente config/config.phpcon un editor. Esegui prima un backup del file e unisci queste voci all'array PHP esistente prima di chiuderlo );. Non sostituire l'intero file né aggiungere una seconda copia di chiavi già presenti.

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
    'host' => '127.0.0.1',
    'port' => 6379,
],

L'indirizzo di loopback esplicito corrisponde al servizio Redis locale. Se invece si utilizza un socket Unix, utilizzare il percorso del socket come host Redis e configurare il demone e le autorizzazioni di conseguenza. Se Redis richiede l'autenticazione, aggiungere il nome utente e la password ACL di Redis corretti all'array redise configurare Redis di conseguenza; non incollare mai una password reale in un esempio condiviso o in un post di supporto pubblico.

Mantieni invariate le impostazioni esistenti, come instanceidle credenziali del database, i domini attendibili e la directory dei dati. La sintassi degli array PHP è importante: mantieni le virgole tra le voci e assicurati che ogni impostazione appaia una sola volta.

5. Convalidare la cache e il blocco dei file

Eseguire il controllo dello stato da riga di comando di Nextcloud dalla directory di installazione come utente del servizio web. Sostituire il percorso di esempio se l'installazione si trova in un'altra posizione:

cd /var/www/nextcloud
sudo -u www-data php occ status

Controlla l'interfaccia web nelle impostazioni di amministrazione per eventuali avvisi di configurazione e verifica che i moduli Redis e APCu siano visibili al runtime PHP web. Quindi, testa le normali operazioni sui file con un file piccolo e non critico: caricalo, rinominalo, scaricalo ed eliminalo. La pagina di amministrazione non dovrebbe più segnalare l'assenza di una cache di memoria quando la cache locale è configurata correttamente.

Un test riuscito PONGdimostra solo che Redis risponde al client CLI locale. Il controllo amministrativo di Nextcloud e le operazioni di routine sui file aiutano a verificare contemporaneamente l'estensione PHP, i permessi del server web, le impostazioni di connessione a Redis e la configurazione dell'applicazione. Non considerare un caricamento più rapido della pagina durante un test come prova di un miglioramento misurabile delle prestazioni; il carico di lavoro, lo spazio di archiviazione, il database e la capacità dei worker PHP influiscono tutti sul tempo di risposta.

Risoluzione dei problemi comuni

La pagina di amministrazione continua a segnalare l'assenza di cache in memoria.

Verifica la presenza di chiavi di cache duplicate o con errori di battitura, conferma che memcache.localpuntino ad APCu e riavvia il servizio Apache o PHP-FPM corretto. Un'installazione PHP solo da riga di comando potrebbe essere diversa dal runtime PHP utilizzato dal sito web.

Redis è in esecuzione, ma Nextcloud segnala errori di connessione.

Confronta hoste portcon config.phpil listener in /etc/redis/redis.conf. Conferma l'accesso locale con redis-cli -h 127.0.0.1 -p 6379 pinge rivedi i log di Redis e del server web. Se utilizzi un socket o una password, verifica che il percorso o le credenziali corrispondano su entrambi i lati.

Le operazioni sui file non riescono dopo la modifica

Se l'istanza diventa inutilizzabile, ripristinate temporaneamente il backup config.php, quindi esaminate i log di PHP e del server web. Verificate la punteggiatura degli array, confermate che il servizio Redis sia attivo e assicuratevi che nessun firewall o ACL Redis personalizzato blocchi il processo web. Evitate di cancellare i dati di Redis come primo passaggio per la risoluzione dei problemi; esaminate la connessione e la configurazione prima di rimuovere le voci della cache o di blocco.

Cosa non copre questa configurazione

Questa è una configurazione a server singolo, non un'architettura Redis ad alta disponibilità. Non configura la replica di Redis, Sentinel, TLS, un host di cache remoto, l'archiviazione delle sessioni o una distribuzione Nextcloud in cluster. I nodi Nextcloud multi-server devono condividere la stessa cache distribuita e lo stesso backend di blocco; l'utilizzo di localhost su ciascun nodo creerebbe istanze Redis separate, vanificando tale requisito. Per una topologia remota o in cluster, seguire la sezione di configurazione di Nextcloud corrispondente e proteggere le comunicazioni Redis per tale ambiente.

Una volta stabilizzata la configurazione, monitora l'utilizzo della memoria di Redis e la panoramica di amministrazione di Nextcloud. Assegna memoria sufficiente per la cache e le attività di blocco, evita policy di eliminazione non verificate che potrebbero eliminare i dati di blocco e mantieni backup regolari del database e dei file. La cache di Redis può ridurre il sovraccarico dovuto alla cache e ai blocchi, ma è solo una parte di un'installazione Nextcloud efficiente, non un sostituto della pianificazione della capacità.

Lascia un commento

Come configurare la cache Redis per Nextcloud su Ubuntu 24.04

Come configurare la cache Redis per Nextcloud su Ubuntu 24.04

Configura il blocco dei file Redis e la cache distribuita per Nextcloud su Ubuntu 24.04 con PhpRedis, APCu, un servizio Redis solo loopback e pratici passaggi di verifica.

Correggere gli errori E2EE di Element Web "Impossibile decrittografare l'evento".

Correggere gli errori E2EE di Element Web "Impossibile decrittografare l'evento".

Risolvi gli errori di decrittazione di Element Web verificando la verifica del dispositivo, il backup delle chiavi, le chiavi di ripristino e le chiavi della stanza mancanti, senza rischiare di perdere la cronologia dei messaggi.

Come configurare e applicare l'autenticazione a due fattori (2FA) in Nextcloud

Come configurare e applicare l'autenticazione a due fattori (2FA) in Nextcloud

Scopri come abilitare i provider di autenticazione a due fattori di Nextcloud, imporre l'autenticazione a due fattori per utenti o gruppi, preparare il ripristino e verificare gli accessi e le app client.

Come limitare l'inoltro di email in uscita tramite indirizzo IP in Zimbra

Come limitare l'inoltro di email in uscita tramite indirizzo IP in Zimbra

Con zimbraMtaMyNetworks, limita l'inoltro di email in uscita non autenticate in Zimbra agli indirizzi IP attendibili. Scopri come ispezionare, aggiornare, ricaricare e verificare la lista degli indirizzi consentiti in modo sicuro.

Risolvi l'avviso relativo al limite di memoria PHP di Nextcloud.

Risolvi l'avviso relativo al limite di memoria PHP di Nextcloud.

Imposta il valore di `memory_limit` di PHP ad almeno 512 MB per Nextcloud, trova la configurazione PHP web corretta, riavvia Apache o PHP-FPM e verifica che l'avviso sia scomparso.

Come configurare un server Matrix Coturn TURN/STUN per chiamate audio e video

Come configurare un server Matrix Coturn TURN/STUN per chiamate audio e video

Configura Coturn con Synapse per le chiamate Matrix WebRTC. Configura le credenziali condivise, il NAT, le porte del firewall, le opzioni TLS e distingui TURN (versione legacy) da MatrixRTC e LiveKit.

Come configurare l'app Nextcloud Mail con l'autenticazione OAuth2

Come configurare l'app Nextcloud Mail con l'autenticazione OAuth2

Configura Nextcloud Mail con OAuth2 per Gmail o Microsoft 365, verifica l'accesso IMAP/SMTP, risolvi i problemi di reindirizzamento e conosci i limiti.

Come risolvere l'avviso di sessione "Impossibile verificare l'identità" in Element

Come risolvere l'avviso di sessione "Impossibile verificare l'identità" in Element

Risolvi l'avviso di sessione "Impossibile verificare l'identità" di Element verificando l'identità con un altro dispositivo attendibile o con una chiave di ripristino e scopri quando è possibile eseguire un ripristino in sicurezza.

Migrare le caselle di posta di Kopano a Grommunio o Zammad: scegliere la strada giusta

Migrare le caselle di posta di Kopano a Grommunio o Zammad: scegliere la strada giusta

Confronta la migrazione da Kopano a grommunio e Zammad. Scopri quali dati della casella di posta elettronica ciascun metodo può conservare, come effettuare un test e verificare i risultati e quando è opportuno utilizzare IMAP o un'importazione personalizzata.

Come migrare in modo sicuro una cartella dati di Nextcloud su un disco rigido esterno

Come migrare in modo sicuro una cartella dati di Nextcloud su un disco rigido esterno

Spostare una directory di dati Nextcloud su un disco rigido esterno senza interrompere i riferimenti ai file. Utilizzare in tutta sicurezza backup, un mount persistente, rsync, permessi e un collegamento simbolico.