User Tools

Site Tools


doc:appunti:linux:sa:redis_2nd_instance

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
doc:appunti:linux:sa:redis_2nd_instance [2024/03/13 11:25] – created niccolodoc:appunti:linux:sa:redis_2nd_instance [2024/03/19 12:25] (current) – [Configurazione di Nextcloud] niccolo
Line 1: Line 1:
 ====== Istanze multiple del database Redis ====== ====== Istanze multiple del database Redis ======
  
 +Il servizio Redis prevede il concetto di database multipli; l'installazione predefinita Debian 12 Bookworm prevede la creazione di 16 database distinti (numerati da 0 a 15) tramite l'opzione **databases 16** del file di configurazione ''/etc/redis/redis.conf''. Tuttavia tale concetto è molto diverso da quello di database dei motori SQL tradizionali (es. MySQL o PostgreSQL); se sullo stesso host si hanno diverse applicazioni che necessitano di un database Redis è opportuno creare **ulteriori istanze di Redis** piuttosto che condividere la stessa istanza.
 +
 +Nel nostro esempio l'istanza predefinita di Redis (in ascolto su localhost:6379/TCP) viene [[rspamd_spamassassin|usata da Rspamd per gestire i propri moduli greylist e antivirus]]. Avendo installato Nextcloud abbiamo bisogno di una ulteriore istanza di Redis per gestire il //[[https://docs.nextcloud.com/server/28/admin_manual/configuration_files/files_locking_transactional.html|transactional file locking]]//.
 +
 +Creare un file **/etc/redis/redis-nextcloud.conf** copiando l'originale **redis.conf**. Modificare le seguenti impostazioni:
 +
 +<file>
 +port 0
 +unixsocket /run/redis/redis-nextcloud.sock
 +unixsocketperm 770
 +pidfile /run/redis/redis-nextcloud.pid
 +logfile /var/log/redis/redis-nextcloud.log
 +dbfilename dump-nextcloud.rdb
 +</file>
 +
 +Abilitare e avviare il servizio:
 +
 +<code>
 +systemctl enable redis-server@nextcloud.service --now
 +</code>
 +
 +Verificare che sia possibile connettersi alla nuova istanza tramite Unix socket:
 +
 +<code>
 +redis-cli -s /run/redis/redis-nextcloud.sock
 +redis /run/redis/redis-nextcloud.sock> ping
 +PONG
 +</code>
 +
 +===== Configurazione di Nextcloud =====
 +
 +<code>
 +adduser www-data redis
 +</code>
 +
 +Dopo aver cambiato appartenenza al gruppo, riavviare i processi:
 +
 +<code>
 +systemctl restart php8.2-fpm.service
 +systemctl restart apache2.service 
 +</code>
 +
 +Nel file di configurazione **[NEXTCLOUD_HOME]/config/config.php** si aggiungono gli opportuni valori alla variabile **$CONFIG**:
 +
 +<code php>
 +$CONFIG = array (
 +  ...
 +  'filelocking.enabled' => true,
 +  'memcache.local' => '\OC\Memcache\Redis',
 +  'memcache.distributed' => '\OC\Memcache\Redis',
 +  'memcache.locking' => '\OC\Memcache\Redis',
 +  'redis' => array (
 +    'host' => '/run/redis/redis-nextcloud.sock',
 +    'port' => 0,
 +    'timeout' => 0.0,
 +  ),
 +);
 +</code>
 ===== Web References ===== ===== Web References =====
  
doc/appunti/linux/sa/redis_2nd_instance.1710325553.txt.gz · Last modified: 2024/03/13 11:25 by niccolo