Comment installer le serveur Redis sur CentOS 8
Redis est un magasin clé-valeur en mémoire gratuit et open-source qui prend en charge différents types de structures de données. Tu peux l’utiliser comme base de données, cache, courtier en messages et file d’attente. Il est utilisé pour créer des applications Web performantes et évolutives. Il prend en charge un large éventail de langages de programmation tels que Java, PHP, C, Perl, Python, C#, Lua, Go, et bien d’autres encore. Il est multiplateforme et fonctionne dans la plupart des systèmes d’exploitation basés sur Unix, notamment Linux, *BSD et OS X.
Dans ce tutoriel, nous allons expliquer comment installer Redis sur le serveur CentOS 8.
Conditions préalables
- Un serveur exécutant CentOS 8.
- Un mot de passe root est configuré sur le serveur.
Installer le serveur Redis
Par défaut, le paquet Redis est disponible dans le référentiel par défaut de CentOS 8. Tu peux l’installer en exécutant la commande suivante :
dnf install redis -y
Après avoir installé le serveur Redis, démarre le service Redis et active son démarrage au redémarrage du système avec la commande suivante :
systemctl start redis
systemctl enable redis
Tu peux aussi vérifier l’état du serveur Redis avec la commande suivante :
systemctl status redis
Tu devrais obtenir la sortie suivante :
Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d ??limit.conf Active: active (running) since Tue 2020-09-15 04:52:54 EDT; 6s ago Main PID: 3076 (redis-server) Tasks: 4 (limit: 12527) Memory: 6.6M CGroup: /system.slice/redis.service ??3076 /usr/bin/redis-server 127.0.0.1:6379 Sep 15 04:52:54 centos8 systemd[1]: Starting Redis persistent key-value database... Sep 15 04:52:54 centos8 systemd[1]: Started Redis persistent key-value database.
Par défaut, Redis écoute sur le port 6379. Tu peux le vérifier avec la commande suivante :
ss -ant | grep 6379
Tu devrais obtenir le résultat suivant :
LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
Ensuite, teste la connectivité de Redis avec la commande suivante :
redis-cli
Tu devrais voir la sortie suivante :
127.0.0.1:6379>
Maintenant, exécute la commande suivante pour vérifier la connectivité :
127.0.0.1:6379> ping
Tu devrais voir le résultat suivant :
PONG
Configurer le cache de Redis
Ensuite, tu devras configurer Redis comme serveur de mise en cache. Tu peux le faire en modifiant le fichier de configuration de Redis :
nano /etc/redis.conf
Ajoute les lignes suivantes à la fin du fichier :
maxmemory 128mb maxmemory-policy allkeys-lru
Enregistre et ferme le fichier lorsque tu as terminé. Ensuite, redémarre le service Redis avec la commande suivante :
systemctl restart redis
Sécuriser le serveur Redis
Par défaut, redis-cli te permet d’exécuter n’importe quelle commande dans le shell de Raedis. C’est donc une bonne idée de sécuriser un shell Redis avec le mot de passe. Tu peux activer l’authentification par mot de passe en modifiant le fichier /etc/redis.conf :
nano /etc/redis.conf
Trouve la ligne suivante :
# requirepass foobared
Et, remplace-la par la ligne suivante :
requirepass A	D3Fs4%#df
Sauvegarde et ferme le fichier lorsque tu as terminé. Ensuite, redémarre le service Redis pour appliquer les changements de configuration :
systemctl restart redis
Maintenant, connecte-toi à Redis avec la commande suivante :
redis-cli
Une fois connecté, exécute la commande suivante :
127.0.0.1:6379> INFO server
Tu obtiendras l’erreur suivante car tu ne t’es pas authentifié.
NOAUTH Authentication required.
Maintenant, exécute la commande suivante pour t’authentifier avec le mot de passe spécifié dans le fichier de configuration de Redis :
127.0.0.1:6379> AUTH A	D3Fs4%#df
Tu devrais voir la sortie suivante :
OK
Maintenant, exécute la commande suivante :
127.0.0.1:6379> INFO server
Tu devrais obtenir la sortie suivante :
# Server redis_version:5.0.3 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:28849dbea6f07cc8 redis_mode:standalone os:Linux 4.18.0-193.14.2.el8_2.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:8.3.1 process_id:3176 run_id:2bf42acb9a0c0f251220c9bf5d66982b1c0b1d87 tcp_port:6379 uptime_in_seconds:41 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:6324712 executable:/usr/bin/redis-server config_file:/etc/redis.conf
Lorsque tu as terminé, tu peux passer à l’étape suivante.
Renomme les commandes dangereuses
Il est également recommandé de renommer certaines commandes dangereuses dans le shell Redis. L’une des commandes dangereuses est « config ». Elle est utilisée pour récupérer le mot de passe Redis.
Voyons comment récupérer le mot de passe Redis avec la commande « config ».
Tout d’abord, connecte-toi à Redis avec la commande suivante :
redis-cli
Une fois connecté, authentifie Redis avec la commande suivante :
127.0.0.1:6379> AUTH A	D3Fs4%#df
Ensuite, récupère le mot de passe Redis à l’aide de la commande suivante :
127.0.0.1:6379> config get requirepass
Tu devrais obtenir le mot de passe Redis dans la sortie suivante :
1) "requirepass" 2) "A	D3Fs4%#df"
Tu peux renommer la commande « config » en modifiant le fichier /etc/redis.conf :
nano /etc/redis.conf
Trouve la ligne suivante :
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
Et, remplace-la par la ligne suivante :
rename-command CONFIG hitredis
Sauvegarde et ferme le fichier. Ensuite, redémarre le service Redis avec la commande suivante :
systemctl restart redis
Maintenant, connecte-toi et authentifie le Redis avec la commande suivante :
redis-cli
127.0.0.1:6379> AUTH A	D3Fs4%#df
Maintenant, récupère le mot de passe Redis avec la commande « config » :
127.0.0.1:6379> config get requirepass
Tu devrais obtenir l’erreur suivante :
(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`,
Maintenant, exécute la commande renommée comme indiqué ci-dessous :
127.0.0.1:6379> hitredis get requirepass
Tu devrais obtenir ton mot de passe Redis dans la sortie suivante :
1) "requirepass" 2) "A	D3Fs4%#df"
Conclusion
Félicitations ! Tu as réussi à installer et à sécuriser le serveur Redis sur CentOS 8. Tu peux maintenant héberger ton application et la configurer pour utiliser le cache Redis. N’hésite pas à me demander si tu as des questions.