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&#9D3Fs4%#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&#9D3Fs4%#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&#9D3Fs4%#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&#9D3Fs4%#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&#9D3Fs4%#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&#9D3Fs4%#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.

Vous aimerez aussi...