Comment installer le serveur Redis sur Rocky Linux

Redis est un magasin de données clé-valeur en mémoire populaire et open-source. Il prend en charge diverses structures de données telles que les hachages, les listes, les ensembles, les chaînes de caractères, et bien plus encore. Redis est conçu pour être exécuté dans l’environnement de confiance uniquement, il peut être utilisé comme base de données, cache et courtier de messages. Redis est largement connu pour sa large prise en charge, ses hautes performances, sa haute disponibilité et sa flexibilité.

Tu peux installer Redis de façon autonome pour un petit déploiement. Pour les grands déploiements, ils fournissent des composants supplémentaires tels que Redis Sentinel pour la haute disponibilité et Redis Cluster pour partitionner les données sur plusieurs serveurs de nœuds Redis.

Dans ce guide, tu vas apprendre à installer Redis sur Rocky Linux. Pour une installation facile, tu installeras Redis à partir du dépôt AppStream, mais si tu veux obtenir la dernière version de Redis (ce qui signifie plus de fonctionnalités), tu peux installer Redis à partir des sources en le compilant sur ton système.

Conditions préalables

  • Un système Rocky Linux. Assure-toi que tous les paquets et dépôts ont été mis à jour à la dernière version
  • Un utilisateur root ou un utilisateur avec des privilèges root. Tu utiliseras cet utilisateur pour installer de nouveaux paquets et modifier les configurations du système.

Installer Redis à partir du dépôt AppStream

Si tu veux installer Redis facilement sans compiler, tu peux l’installer à partir du dépôt AppStream fourni par Rocky Linux. Pour l’instant, le dépôt AppStream de Rocky Linux fournit Redis version 5.x. Et si tu veux installer Redis version 6.x, tu dois l’installer manuellement.

1. Pour installer Redis à partir du dépôt AppStream, exécute la commande dnf ci-dessous.

sudo dnf install redis

Tape maintenant‘Y‘ pour installer le paquet Redis.

Installation de Redis à partir du référentiel AppStream

2. Une fois l’installation terminée, active le fonctionnement de Redis au démarrage du système à l’aide de la commande systemctl ci-dessous.

sudo systemctl enable redis

3. Ensuite, exécute la commande suivante pour démarrer le service Redis et vérifier son état.

sudo systemctl start redis
sudo systemctl status redis

Si le service Redis est actif et fonctionne, tu verras une sortie similaire à celle ci-dessous.

Démarre et active le service redis

Pour l’étape suivante, tu vas configurer Redis comme dans la section ci-dessous.

Installer Redis à partir de la source

Si tu veux obtenir la dernière version de Redis, tu peux l’installer manuellement à partir du code source. Le principal avantage d’installer la dernière version de Redis est que tu obtiens toujours les dernières fonctionnalités et les derniers paquets. Pour l’instant, procure-toi la dernière version stable 6.2, que tu vas installer à cette étape.

1. Tout d’abord, tu dois installer certaines dépendances des paquets avant de compiler Redis.

Ajoute le référentiel EPEL à ton système à l’aide de la commande suivante.

sudo dnf install epel-release -y

Installe le référentiel Epel

Installe le paquet de groupe‘Outils de développement‘ et quelques paquets supplémentaires pour compiler Redis.

sudo dnf group install "Development Tools" -y
sudo dnf install jemalloc lua hiredis linenoise -y

Ensuite, exécute la commande suivante pour installer les paquets openssl-devel (pour les supports TLS) et systemd-devel (pour les supports systemd).

sudo dnf install openssl-devel systemd-devel -y

2. Une fois l’installation de tous les paquets terminée, exécute la commande suivante pour créer un nouvel utilisateur et un nouveau groupe‘redis‘.

sudo adduser --system --user-group --no-create-home --shell /sbin/nologin redis

Ensuite, crée un nouveau répertoire de données pour Redis dans‘/var/lib/redis‘ et change la propriété de ce répertoire pour l’utilisateur‘redis‘ en utilisant la commande suivante.

sudo mkdir -p /var/lib/redis
sudo chown -R redis:redis /var/lib/redis

Et tu es prêt à compiler et à installer redis.

Ajoute un nouvel utilisateur redis et crée le répertoire de données redis

3. Change le répertoire de travail en‘/usr/src‘ et télécharge la dernière version stable du code source de Redis en utilisant la commande wget comme ci-dessous.

cd /usr/src/
wget https://download.redis.io/releases/redis-6.2.5.tar.gz

Extrais maintenant le code source de Redis et change le répertoire en répertoire ‘redis-*‘.

tar -xzvf redis-6.2.5.tar.gz
cd redis-*/

Télécharge le code source de Redis

4. Compile le code source de Redis à l’aide de la commande suivante.

sudo make BUILD_TLS=yes USE_SYSTEMD=yes

Options que tu dois connaître :

  • BUILD_TLS = active le support TLS pour Redis,
  • USE_SYSTEMD = activer la prise en charge de systemd, le système Rocky Linux utilisant systemd comme système d’initialisation.

Exécute maintenant la commande suivante.

sudo make test

Ce test va prendre un certain temps. Lorsque tout est terminé, tu verras une sortie similaire à celle ci-dessous.

\o/ All tests passed without errors!

Cleanup: may take some time... OK
make[1]: Leaving directory '/usr/src/redis-6.2.5/src'

Assure-toi que tous les tests ont réussi sans aucune erreur.

5. Ensuite, tu peux installer redis en exécutant la commande ci-dessous.

sudo make PREFIX=/usr install

La commande Redis sera disponible dans le répertoire‘/usr/bin’, comme nous l’avons spécifié dans l’option‘PREFIX=‘ en haut.

Compile et installe Redis

Tu peux vérifier l’installation de Redis en exécutant les commandes suivantes.

redis-server --version
redis-cli --version

Si ton installation est réussie, tu verras la version de Redis 6.2 comme la capture d’écran ci-dessous.

Vérifier la version de Redis

Configuration de Redis

À cette étape, tu vas configurer l’installation de Redis. Tu peux réaliser cette étape pour toutes les installations de Redis (installation à partir de la source ou installation à partir du dépôt AppStream).

1. Si tu installes Redis à partir du code source, exécute la commande suivante pour créer un nouveau répertoire de configuration Redis.

mkdir -p /etc/redis

Copie ensuite l’exemple de configuration‘redis.conf‘ dans le répertoire‘/etc/redis‘.

cp /usr/src/redis-*/redis.conf /etc/redis/redis.conf

2. Exécute la commande nano ci-dessous pour modifier le fichier de configuration ‘redis.conf’.

sudo nano /etc/redis/redis.conf

Configurer Redis

Remplace l’adresse ‘bind’ par défaut par l’adresse IP de ton réseau local.

bind 127.0.0.1

Décommente l’option ‘daemonize’ et change la valeur en ‘yes’ pour permettre à Redis de fonctionner comme un démon.

daemonize yes

Décommente l’option ‘supervised’ et change la valeur en ‘systemd’. Cette option permet à Redis d’interagir avec l’arbre de supervision du système.

supervised systemd

Spécifie le répertoire de travail et de données de Redis comme étant le répertoire‘/var/lib/redis‘. Toutes les bases de données Redis seront disponibles dans ce répertoire.

dir /var/lib/redis

Décommente l’option ‘requirepass’ et remplace la valeur par ton mot de passe, et assure-toi d’utiliser un mot de passe fort et long. Avec cette option, toutes les interactions des clients nécessiteront un mot de passe pour l’authentification.

requirepass AJds9dshsd8wqejdw82389r3ej3983jk

Enregistre la configuration en appuyant sur le bouton‘Ctrl+x‘, tape‘y’, puis appuie sur‘Enter‘.

Configuration du fichier de service pour Redis

Pour l’installation manuelle de Redis, tu dois configurer le fichier de service de Redis.

1. Exécute la commande suivante pour changer le répertoire de travail en‘/usr/src/redis-*/utils‘ et copier le fichier de service systemd dans ‘/etc/systemd/system’.

cd /usr/src/redis-*/utils/
cp systemd-redis_server.service /etc/systemd/system/redis-server.service

2. Modifie la configuration de‘redis-server.service‘ à l’aide de nano.

sudo nano /etc/systemd/system/redis-server.service

Change certaines options en utilisant la configuration comme ci-dessous.

[Unit]
...
AssertPathExists=/var/lib/redis

[Service]
...
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/bin/redis-cli shutdown
Restart=alway
...
User=redis
Group=redis
WorkingDirectory=/var/lib/redis

Appuie sur le bouton‘Ctrl+x‘, tape‘y‘ et appuie sur‘Enter‘ pour enregistrer et quitter.

3. Exécute maintenant la commande suivante pour recharger le systemd-manager et appliquer la nouvelle configuration.

sudo systemctl daemon-reload

Configure le fichier de service Redis

4. Ensuite, exécute la commande suivante pour permettre au service redis de s’exécuter automatiquement au démarrage du système.

sudo systemctl enable redis-server

5. Démarre le service redis et vérifie son état en exécutant la commande suivante.

sudo systemctl start redis-server
sudo systemctl status redis-server

Si ton service Redis est actif et fonctionne, tu devrais voir une sortie similaire à celle ci-dessous.

Démarre et active le service Redis

Renommer ou désactiver la commande dangereuse de Redis

Redis propose une fonction de sécurité qui te permet de renommer ou de désactiver complètement certaines commandes dangereuses. Et cela peut être fait simplement par le biais du fichier de configuration de Redis, ‘redis.conf’.

1. Modifie la configuration de redis‘redis.conf‘ à l’aide de la commande nano.

sudo nano /etc/redis/redis.conf

2. Pour désactiver complètement la commande Redis, tu peux définir le nom de la commande suivi d’un guillemet vide comme ci-dessous.

rename-command FLUSHDB ""
rename-command FLUSHALL ""
rename-command DEBUG ""

3. Pour renommer les commandes Redis, tu peux définir le nom de la commande en le remplaçant par la nouvelle commande comme ci-dessous.

rename-command SHUTDOWN SHUT_ME_DOWN
rename-command CONFIG CONFIG_ME_NOW

Sauvegarde la configuration en appuyant sur le bouton‘Ctrl+x‘, tape‘y‘, puis appuie sur‘Enter‘.

4. Ensuite, exécute la commande suivante pour redémarrer le service redis et appliquer la configuration.

sudo systemctl restart redis-server

Pour l’étape suivante, tu vas vérifier l’authentification Redis pour t’assurer qu’elle fonctionne, puis tu vérifieras à l’aide de certaines commandes que tu viens de renommer.

Vérifier l’installation de Redis

1. Tout d’abord, tu dois te connecter au serveur Redis à l’aide de la commande‘redis-cli‘ comme ci-dessous.

redis-cli

Ou tu peux spécifier l’hôte et le port à l’aide de la commande comme ci-dessous.

redis-cli -h 127.0.0.1 -p 6379

2. Ensuite, authentifie-toi à l’aide de la commande‘auth‘ comme ci-dessous.

auth AJds9dshsd8wqejdw82389r3ej3983jk

Si ton authentification est réussie, tu verras le message‘OK‘.

3. Exécute la commande ‘ping’ ci-dessous. Cette commande vérifiera que l’authentification et la connexion au serveur Redis ont réussi.

ping

Si ta connexion est réussie, tu verras le message‘PONG‘.

Connecte-toi au serveur Redis, vérifie l'authentification et teste la commande ping.

4. Ensuite, vérifie certaines commandes que tu as désactivées ou renommées en haut.

Exécute la commande‘CONFIG‘ comme ci-dessous.

CONFIG get bind

Tu verras le message d’erreur‘ERR unknown command ‘CONFIG’‘ car la commande ‘CONFIG’ par défaut a été remplacée par ‘CONFIG_ME_NOW’.

Exécute maintenant la commande‘CONFIG_ME_NOW‘ comme ci-dessous.

CONFIG_ME_NOW get bind
CONFIG_ME_NOW get supervised

Si ton installation est réussie, tu verras une sortie similaire à la capture d’écran ci-dessous.

Redis verify a désactivé la commande et renommé la commande

En outre, essaie d’exécuter certaines commandes désactivées‘FLUSHDB‘ et‘DEBUG‘, et tu obtiendras le même message d’erreur que‘ERR unknown command‘.

Conclusion

Félicitations ! Tu as maintenant réussi à installer Redis sur Rocky Linux en utilisant les deux méthodes, l’installation à partir du dépôt AppStream ou l’installation à partir du code source. Tu as également appris à sécuriser le déploiement de Redis en activant l’authentification et en renommant et désactivant certaines commandes Redis dangereuses. Pour la prochaine étape, tu peux explorer une autre configuration de Redis comme l’implémentation de TLS, la mise en place de la haute disponibilité à l’aide de Redis Sentinel, etc.

Vous aimerez aussi...