Redis est un magasin clé-valeur en mémoire libre et open source qui prend en charge différents types de structures de données. Vous pouvez l'utiliser comme base de données, cache, courtier de messages et file d'attente. Il est utilisé pour créer des applications Web hautes performances 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. Il s'agit d'une plateforme multiplateforme qui fonctionne sur la plupart des systèmes d'exploitation basés sur Unix, notamment Linux, *BSD et OS X.
Dans ce tutoriel, nous expliquerons comment installer Redis sur le serveur CentOS 8.
Prérequis
- Un serveur exécutant CentOS 8.
- Un mot de passe root est configuré sur le serveur.
Installer le serveur Redis
Par défaut, le package Redis est disponible dans le référentiel par défaut de CentOS 8. Vous pouvez l'installer en exécutant la commande suivante :
dnf install redis -y
Après avoir installé le serveur Redis, démarrez le service Redis et activez-le pour qu'il démarre au redémarrage du système avec la commande suivante :
systemctl start redis
systemctl enable redis
Vous pouvez également vérifier l'état du serveur Redis avec la commande suivante :
systemctl status redis
Vous devriez obtenir le résultat suivant :
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. Vous pouvez le vérifier avec la commande suivante :
ss -ant | grep 6379
Vous devriez obtenir le résultat suivant :
LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
Ensuite, testez la connectivité Redis avec la commande suivante :
redis-cli
Vous devriez voir le résultat suivant :
127.0.0.1:6379>
Maintenant, exécutez la commande suivante pour vérifier la connectivité :
127.0.0.1:6379> ping
Vous devriez voir le résultat suivant :
PONG
Configurer le cache Redis
Ensuite, vous devrez configurer Redis en tant que serveur de mise en cache. Vous pouvez le faire en éditant le fichier de configuration Redis :
nano /etc/redis.conf
Ajoutez les lignes suivantes à la fin du fichier :
maxmemory 128mb maxmemory-policy allkeys-lru
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service Redis avec la commande suivante :
systemctl restart redis
Serveur Redis sécurisé
Par défaut, redis-cli vous permet d'exécuter n'importe quelle commande dans le shell Raedis. C'est donc une bonne idée de sécuriser un shell Redis avec le mot de passe. Vous pouvez activer l'authentification par mot de passe en modifiant le fichier /etc/redis.conf :
nano /etc/redis.conf
Recherchez la ligne suivante :
# requirepass foobared
Et remplacez-le par la ligne suivante :
requirepass A	D3Fs4%#df
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service Redis pour appliquer les modifications de configuration :
systemctl restart redis
Maintenant, connectez-vous au Redis avec la commande suivante :
redis-cli
Une fois connecté, exécutez la commande suivante :
127.0.0.1:6379> INFO server
Vous obtiendrez l'erreur suivante car vous ne vous authentifiez pas.
NOAUTH Authentication required.
Maintenant, exécutez la commande suivante pour vous authentifier avec le mot de passe spécifié dans le fichier de configuration Redis :
127.0.0.1:6379> AUTH A	D3Fs4%#df
Vous devriez voir le résultat suivant :
OK
Maintenant, exécutez la commande suivante :
127.0.0.1:6379> INFO server
Vous devriez obtenir le résultat suivant :
# 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Renommer la commande dangereuse
Il est également recommandé de renommer certaines commandes dangereuses dans le shell Redis. L'une des commandes dangereuses est "config". Il est utilisé 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, connectez-vous au Redis avec la commande suivante :
redis-cli
Une fois connecté, authentifiez Redis avec la commande suivante :
127.0.0.1:6379> AUTH A	D3Fs4%#df
Ensuite, récupérez le mot de passe Redis à l'aide de la commande suivante :
127.0.0.1:6379> config get requirepass
Vous devriez obtenir le mot de passe Redis dans la sortie suivante :
1) "requirepass" 2) "A	D3Fs4%#df"
Vous pouvez renommer la commande "config" en éditant le fichier /etc/redis.conf :
nano /etc/redis.conf
Recherchez la ligne suivante :
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
Et remplacez-le par la ligne suivante :
rename-command CONFIG hitredis
Enregistrez et fermez le fichier. Ensuite, redémarrez le service Redis avec la commande suivante :
systemctl restart redis
Maintenant, connectez et authentifiez Redis avec la commande suivante :
redis-cli
127.0.0.1:6379> AUTH A	D3Fs4%#df
Maintenant, récupérez le mot de passe Redis avec la commande "config":
127.0.0.1:6379> config get requirepass
Vous devriez obtenir l'erreur suivante :
(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`,
Maintenant, exécutez la commande renommée comme indiqué ci-dessous :
127.0.0.1:6379> hitredis get requirepass
Vous devriez obtenir votre mot de passe Redis dans le résultat suivant :
1) "requirepass" 2) "A	D3Fs4%#df"
Conclusion
Toutes nos félicitations! vous avez installé et sécurisé avec succès le serveur Redis sur CentOS 8. Vous pouvez maintenant héberger votre application et la configurer pour utiliser le cache Redis. N'hésitez pas à me demander si vous avez des questions.