, , ,

Installation d'un serveur Redis

Redis est un système de cache stockant les objets en RAM.

Pour des raisons de performances, si Redis s'exécute sur la même machine, il est conseillé de le paramétrer pour accepter les connexions via un socket UNIX.

Arrêter les services Apache et PHP-FPM :

systemctl stop apache2.service php8.2-fpm.service

Installation du service Redis et du client CLI :

apt install -y redis-server redis-tools php8.2-redis

Editer la configuration du service Redis /etc/redis/redis.conf pour activer la connexion via le socket

# ...
#port 6379
port 0

# ...
unixsocket /run/redis/redis-server.sock
unixsocketperm 770

On va rendre la socket accessible en écriture au groupe www-data. Modifier le groupe d'exécution du serveur Redis : utiliser le groupe www-data

systemctl edit redis.service

Le fichier override doit contenir :

[Service]
 User=redis
 Group=www-data

Relancer le service et tester la connexion au serveur Redis via la socket (avec l'utilisateur www-data) :

systemctl daemon-reload 
systemctl restart redis.service
 
# Vérifier le groupe et les droits d'écritures sur le fichier socket
ls -l /run/redis/redis-server.sock 
srwxrwx--- 1 redis www-data 0  6 mars  14:54 /run/redis/redis-server.sock
 
# Tester la connexion sur la socket pour l'utilisateur www-data 
runuser -u www-data -- redis-cli -s /run/redis/redis-server.sock

Relancer les services exploitant Redis :

systemctl start php8.2-fpm.service
systemctl start apache2.service

Références