====== 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: 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 Abilitare e avviare il servizio: systemctl enable redis-server@nextcloud.service --now Verificare che sia possibile connettersi alla nuova istanza tramite Unix socket: redis-cli -s /run/redis/redis-nextcloud.sock redis /run/redis/redis-nextcloud.sock> ping PONG ===== Configurazione di Nextcloud ===== adduser www-data redis Dopo aver cambiato appartenenza al gruppo, riavviare i processi: systemctl restart php8.2-fpm.service systemctl restart apache2.service Nel file di configurazione **[NEXTCLOUD_HOME]/config/config.php** si aggiungono gli opportuni valori alla variabile **$CONFIG**: $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, ), ); ===== Web References ===== * **[[https://sanjuroe.dev/multiple-redis-databases|Multiple Redis databases on Debian]]** * **[[https://jasonschaefer.com/installing-nextcloud-v22-on-debian-v11/|Installing Nextcloud v22 on Debian v11 (buster) using Redis]]**