Comment installer Redis sur Debian 12, 11 ou 10

Redis est un magasin de structures de données en mémoire open source largement utilisé comme base de données, cache et courtier de messages. Ses hautes performances et sa flexibilité en font un choix populaire dans divers secteurs technologiques. Ce guide est fait pour vous si vous souhaitez installer Redis sur Debian 12 Bookworm, Debian 11 Bullseye ou Debian 10 Buster.

Principales fonctionnalités de Redis

  • Accès rapide aux données: Redis stocke les données en mémoire, ce qui permet une récupération rapide. Cela le rend idéal pour les applications de mise en cache.
  • Plusieurs structures de données: Contrairement aux bases de données traditionnelles basées sur des tables, Redis prend en charge diverses structures de données telles que des chaînes, des hachages, des listes et des ensembles.
  • Messagerie en temps réel: Redis propose des modèles de messagerie de publication/abonnement, permettant une communication d'application en temps réel.
  • Persistance des données: Bien qu'il s'agisse principalement d'une base de données en mémoire, Redis permet une sauvegarde périodique des données sur disque, offrant un équilibre entre vitesse et durabilité.
  • Évolutivité et disponibilité: Des fonctionnalités telles que la réplication, le partitionnement et Redis Sentinel garantissent une haute disponibilité et une évolutivité sur plusieurs nœuds.

Cas d'utilisation courants pour Redis

  • Mise en cache: Redis est couramment utilisé pour mettre en cache les données fréquemment consultées, accélérant ainsi les temps de récupération.
  • Stockage de sessions: Il est bien adapté au stockage des données de session utilisateur, en particulier dans les applications Web à fort trafic.
  • File d'attente des messages: Les capacités pub/sub font de Redis un excellent choix pour les systèmes de file d'attente de messages.

Comprendre les capacités de Redis peut améliorer considérablement votre pile technologique. Le prochain guide détaillera comment installer Redis sur Debian 12 Bookworm, Debian 11 Bullseye ou Debian 10 Buster. Nous aborderons deux méthodes d'installation : une utilisant le référentiel par défaut de Debian et une autre utilisant le référentiel officiel Redis pour la dernière version. Les deux méthodes utiliseront les commandes de l'interface de ligne de commande (CLI). Restez à l'écoute pour les instructions étape par étape.

Étapes de pré-installation avec l'installation de Redis

Mettre à jour les packages système Debian

Avant d'installer Redis ou tout autre logiciel, la première étape consiste à vous assurer que les packages de votre système sont à jour. Cette étape préliminaire critique permet d’atténuer les conflits potentiels lors du processus d’installation ultérieur. Il garantit que toutes les dépendances du système sont à jour, minimisant ainsi les problèmes potentiels résultant de progiciels obsolètes.

Dans un système Debian, vous pouvez le faire en exécutant la commande suivante dans le terminal :

sudo apt update && sudo apt upgrade

Installer les packages requis pour l'installation de Redis

Une fois les packages système Debian à jour, vous devrez installer les packages logiciels spécifiques nécessaires à l'installation de Redis.

Vous pouvez installer ces packages en exécutant la commande suivante :

sudo apt install software-properties-common apt-transport-https curl ca-certificates -y

Découpons cette commande pour mieux la comprendre :

  • sudo apt install: Cette commande est utilisée pour installer des packages sur votre système Debian.
  • software-properties-common: Ce package fournit des scripts spécifiques pour gérer en toute sécurité les logiciels et le code source.
  • apt-transport-https: Ce package est nécessaire au gestionnaire de packages apt pour récupérer les packages via le protocole 'https'.
  • curl: Il s'agit d'un outil de ligne de commande permettant de transférer des données à l'aide de divers protocoles réseau. Il permet, entre autres, de télécharger des fichiers.
  • ca-certificates: Ce package est nécessaire pour vérifier la sécurité des sites Web. Il fournit un ensemble de certificats d'autorité de certification (CA).
  • -y: Cette option répond automatiquement « oui » à toutes les invites lors de l'installation.

Sélectionnez la méthode d'installation Redis

Option 1 : installer Redis avec le référentiel APT Debian

Bien que Debian inclut Redis dans son offre logicielle par défaut, la version n'est peut-être pas la plus récente. Debian privilégie la stabilité et ne fournit généralement que des mises à jour de sécurité ou significatives. Cela peut rendre la version Redis sur Debian plus ancienne mais sans doute plus stable. Cela pourrait être la solution idéale si votre utilisation prévue de Redis n'exige pas les fonctionnalités les plus récentes.

Pour installer Redis via cette méthode, vous devrez exécuter la commande suivante dans votre terminal :

sudo apt install redis

Le sudo La commande fournit des privilèges de superutilisateur, tandis que apt install redis installe le progiciel Redis sur votre système Debian.

Option 2 : installer Redis avec le référentiel Redis.io APT

La deuxième méthode pourrait être plus attrayante pour ceux qui ont besoin ou désirent la version la plus à jour de Redis. Cela implique d'importer le référentiel APT depuis le référentiel officiel Redis.io. Ce référentiel reçoit régulièrement des corrections de bugs, des correctifs de sécurité et des mises à jour de fonctionnalités.

Importer le référentiel Redis.io

Tout d’abord, importez la clé GPG. GPG, ou GNU Privacy Guard, contribue à sécuriser les communications et le stockage des données. La clé GPG vérifie la source de données et garantit que personne ne l'a modifiée pendant le téléchargement.

Utilisez cette commande pour importer la clé GPG :

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

Ensuite, nous importons le référentiel avec la commande suivante :

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

Mettre à jour l’index des packages après l’importation Redis.io APT

Une fois le nouveau référentiel ajouté, vous devrez mettre à jour l'index des packages de votre système pour connaître les packages disponibles à partir de la nouvelle source. Pour ce faire, exécutez la commande suivante :

sudo apt-get update

Installer Redis via la commande APT

Une fois tout configuré, vous pouvez installer Redis à partir du référentiel Redis.io. Si Redis est déjà installé à partir du référentiel Debian, vous verrez peut-être une mise à niveau à la place. La commande suivante installe Redis, ainsi que le serveur et les outils Redis :

sudo apt install redis redis-server redis-tools

Vérifier l'installation de Redis

Après l'installation, c'est toujours une bonne idée de vérifier l'installation. Vous pouvez le faire avec le apt-cache policy commande, confirmant que vous avez installé la version Redis.io. Voici comment l'utiliser :

apt-cache policy redis

Utilisez la commande suivante pour activer l'instance Redis et la configurer pour qu'elle démarre lors du démarrage du système :

sudo systemctl enable redis-server --now

Pour vérifier que Redis s'exécute sans erreur, utilisez cette commande :

systemctl status redis-server

Cette commande fournit des informations sur le redis-server service, qui devrait maintenant être exécuté.

Inspection de Redis : vérifications post-installation sur Debian

Ports d'écoute

Par défaut, Redis écoute sur localhost en utilisant le port 6379. Pour vous assurer que Redis écoute effectivement activement comme prévu, utilisez la commande suivante :

ps -ef | grep redis

Cette commande affiche les processus en cours impliquant Redis, qui doivent refléter l'état d'écoute de Redis sur le port 6379.

Ping testant le service Redis

Un test ping est l'un des moyens les plus simples de vérifier que votre service Redis est opérationnel. Cela établira une connexion à votre service Redis, vérifiant qu'il est opérationnel, opérationnel et prêt à répondre aux commandes.

Tout d'abord, connectez-vous au service Redis avec la commande suivante :

redis-cli

Après avoir exécuté cette commande, votre terminal devrait afficher 127.0.0.1:6379, indiquant que vous êtes connecté à Redis sur l'hôte local. Maintenant, vous pouvez envoyer une requête ping au service Redis comme suit :

ping

Quitter l'instance Redis

Après avoir terminé les vérifications et confirmé que Redis fonctionne correctement, quittez l'instance Redis en tapant :

exit

Nous avons installé avec succès Redis sur un système Debian, soit en utilisant le référentiel Debian APT, soit en utilisant le référentiel officiel Redis.io APT.

Configurer et installer Redis

Redis se distingue par sa flexibilité et sa capacité à répondre à divers besoins. Cette section vous guide dans l'ajustement de Redis pour la mise en cache et l'accès au réseau et dans l'ajout d'un mot de passe pour une sécurité accrue.

Accéder au fichier de configuration Redis

Le parcours de personnalisation de Redis commence par le fichier de configuration Redis situé à l'adresse /etc/redis/redis.conf. Vous devrez ouvrir ce fichier à l'aide d'un éditeur de texte tel que nano.

Exécutez la commande suivante pour faire :

sudo nano /etc/redis/redis.conf

Désignation de la mémoire maximale pour la mise en cache

Un cas d'utilisation de Redis consiste à mettre en cache les données pour améliorer les performances des applications. Pour désigner une quantité spécifique de mémoire à cet effet dans Redis, ajoutez les lignes suivantes après le fichier de configuration :

maxmemory 500mb 
maxmemory-policy allkeys-lru

Dans ce scénario, nous avons alloué 500 Mo de mémoire pour Redis. N'hésitez pas à ajuster cette quantité en fonction des spécifications de votre serveur et des exigences de votre application.

Une fois que la mémoire attribuée atteint sa capacité, Redis supprimera les clés conformément à la stratégie LRU (Les moins récemment utilisées).

Configuration de l'accès au réseau

Par défaut, Redis écoute uniquement sur l'interface localhost. Vous pouvez modifier ce paramètre pour permettre à Redis d'écouter sur toutes les interfaces ou adresses IP/sous-réseaux spécifiques.

Tout d’abord, recherchez la ligne 69 dans le fichier de configuration.

Option 1 : écoute de toutes les interfaces réseau

Pour que Redis écoute sur toutes les interfaces réseau, vous pouvez commenter le bind ligne en ajoutant un # au début:

# bind 127.0.0.1 ::1

Option 2 : liaison à une adresse IP ou un sous-réseau spécifique

Pour lier Redis à une adresse IP ou un sous-réseau spécifique, remplacez le bind correspondez à votre adresse IP ou sous-réseau préféré :

bind 0.0.0.0/0

ou

bind 192.150.5.0/24

Lors de la liaison de Redis à une adresse IP ou à un sous-réseau, il est fortement recommandé d'appliquer un mot de passe pour une sécurité accrue.

Application de l'authentification par mot de passe

Pour ajouter une couche de protection supplémentaire à votre instance Redis, vous pouvez définir un mot de passe pour l'authentification.

Recherchez la ligne commençant par # requirepass (autour de la ligne 507), décommentez-le et définissez un mot de passe fort :

requirepass YourStrongPasswordHere

Remplacer YourStrongPasswordHere avec un mot de passe robuste comprenant un mélange de lettres majuscules et minuscules, de chiffres et de symboles spéciaux.

Validation des modifications et redémarrage de Redis

Après avoir apporté les ajustements nécessaires au fichier de configuration, enregistrez vos modifications en appuyant sur Ctrl + O, puis quittez le nano éditeur en appuyant sur Ctrl + X.

Enfin, redémarrez le service Redis pour appliquer les nouveaux paramètres :

sudo systemctl restart redis

Cette commande demande au système d'arrêter le service Redis et de le redémarrer immédiatement, garantissant ainsi que Redis fonctionne selon les nouveaux paramètres de configuration que vous avez définis.

Pour vous assurer que le service Redis a été redémarré avec succès et fonctionne correctement, vous pouvez vérifier l'état du service en exécutant la commande suivante :

sudo systemctl status redis

Cette commande renverra des informations sur le service Redis, y compris son état (actif ou inactif), sa disponibilité et les messages de journal que vous avez peut-être vus précédemment lors de la confirmation de l'installation.

Configurer un pare-feu pour Redis avec UFW

La sécurisation de votre serveur Redis nécessite la mise en place d'un pare-feu robuste. Redis n'inclut pas de pare-feu par défaut. De plus, Debian ne propose pas de solution de pare-feu prête à l'emploi, sauf si vous maîtrisez iptables. Mais il existe une méthode simple que vous pouvez utiliser, même si vous êtes débutant. Cette méthode fait appel au Uncomplicated Firewall (UFW), un outil de pare-feu convivial.

S'assurer qu'UFW est installé

Tout d’abord, vérifiez si votre serveur Debian dispose d’UFW. Si ce n'est pas le cas, utilisez la commande suivante pour l'installer :

sudo apt install ufw -y

Dans cette commande, sudo est utilisé pour exécuter la commande avec les privilèges root, apt install est la commande pour installer un package, ufw est le package à installer, et -y est une option qui répond automatiquement oui à toutes les invites, permettant ainsi à l'installation de se poursuivre sans autre intervention de l'utilisateur.

Activation d'UFW

Une fois UFW installé, il doit être activé pour commencer à fonctionner et à protéger votre système. Vous pouvez activer UFW avec cette commande :

sudo ufw enable

Cette commande indique à UFW d'activer et d'appliquer toutes les règles que vous avez définies ou que vous définirez.

Configuration des règles UFW pour Redis

Maintenant que UFW est activé, vous pouvez le configurer pour protéger votre serveur Redis. Vous devrez peut-être configurer différentes règles de pare-feu en fonction de votre situation spécifique et si votre installation Redis est un serveur autonome ou fait partie d'un cluster.

Pour une instance de serveur IP réseau supplémentaire

Si vous disposez d'un serveur Redis autonome que vous souhaitez protéger avec UFW, utilisez cette commande :

sudo ufw allow proto tcp from <ip address> to any port 6379

Ici, vous remplacez <ip address> avec l'adresse IP du serveur à partir duquel vous souhaitez autoriser les connexions. Cette commande indique à UFW d'autoriser les connexions TCP à partir de cette adresse IP vers n'importe quel système sur le port 6379, le port par défaut pour Redis.

Pour un réseau de cluster avec plusieurs instances

Si vous travaillez avec un cluster de serveurs Redis, vous pouvez autoriser les connexions à partir d'un sous-réseau entier. Pour ce faire, utilisez la commande suivante :

sudo ufw allow proto tcp from <ip address>/24 to any port 6379

Dans cette commande, remplacez <ip address> avec l'adresse IP du sous-réseau à partir duquel vous souhaitez autoriser les connexions. Notez que cette commande implique une confiance significative dans tous les appareils de ce sous-réseau, car elle ouvre le serveur Redis à tous. Par conséquent, n'utilisez cette commande que si vous êtes sûr que votre réseau interne est sécurisé.

Vérification de la configuration UFW

Après avoir configuré vos règles UFW, il est essentiel de confirmer qu'elles fonctionnent comme prévu. Tout comme vous avez envoyé une requête ping à votre serveur Redis au début de ce guide pour vous assurer qu'il était opérationnel, vous pouvez également tester vos nouvelles règles de pare-feu. Vous pouvez le faire en utilisant le redis-cli commande:

redis-cli -h  <ip address> ping

Encore une fois, remplacez <ip address> avec l'adresse IP de votre serveur Redis. Si vos règles de pare-feu ont été correctement configurées et que le serveur Redis fonctionne comme il se doit, le résultat de cette commande devrait être un simple pong.

Dans cette commande, redis-cli est l'interface de ligne de commande pour Redis, -h spécifie l'hôte (l'adresse IP de votre serveur), et ping est une commande pour vérifier la connectivité au serveur Redis.

Interprétation du résultat

La sortie du redis-cli La commande vous aidera à confirmer si les règles de pare-feu fonctionnent comme prévu.

pong

Cette sortie est un bon signe. UN pong La réponse indique que le serveur Redis est accessible et prêt à accepter les commandes. Il confirme que les règles de pare-feu que vous avez configurées dans UFW fonctionnent correctement, permettant au serveur de communiquer comme prévu.

Exemples de configuration Redis supplémentaires

Comme indiqué précédemment, Redis est un magasin de données en mémoire flexible doté de nombreuses fonctionnalités. Il peut être utilisé pour la mise en cache et la messagerie. Changer son fichier de configuration vous permet de faire fonctionner Redis comme vous le souhaitez. Ici, nous montrerons plus d'options de configuration pour Redis.

Définition de la stratégie d'expiration des valeurs-clés

Pour définir une durée de vie (TTL) par défaut pour les clés dans Redis, modifiez les paramètres maxmemory-policy et maxmemory-samples dans le fichier de configuration. Utilisez la commande suivante pour ouvrir le fichier :

sudo nano /etc/redis/redis.conf

Cherchez le maxmemory-policy paramètre et configurez-le à votre guise. Par exemple, si vous souhaitez établir une politique qui fait expirer les clés selon l'algorithme LRU (Least Récemment Utilisé), mettez à jour la configuration en tant que telle :

maxmemory-policy volatile-lru

Ensuite, localisez le maxmemory-samples paramètre. Cela dictera le nombre d'échantillons que Redis doit examiner pour arriver à la décision d'expulsion :

maxmemory-samples 5

Activation de TCP Keepalive

L'activation de TCP keepalive peut aider à détecter et à fermer les connexions inactives, ce qui libère de précieuses ressources système. Localisez le tcp-keepalive réglage dans le /etc/redis/redis.conf fichier pour l'activer :

tcp-keepalive 300

Dans cet exemple, nous définissons l'intervalle keepalive sur 300 secondes. Vous devez ajuster ce chiffre en fonction des exigences et des conditions de votre serveur.

Configuration de la surveillance lente des journaux

Les journaux lents constituent un mécanisme précieux pour identifier les problèmes de performances. Pour ce faire, ils enregistrent les requêtes qui dépassent une durée spécifiée. Trouvez le slowlog-log-slower-than et slowlog-max-len paramètres dans le /etc/redis/redis.conf fichier pour configurer les journaux lents :

slowlog-log-slower-than 10000
slowlog-max-len 128

L'exemple ci-dessus définit le seuil de slowlog sur 10 000 microsecondes (équivalent à 10 millisecondes). Le journal lent conservera les 128 entrées les plus récentes. Vous devez ajuster ces valeurs pour qu'elles correspondent à vos exigences et conditions spécifiques.

Activation des notifications d'événements Redis

Redis peut créer des notifications pour des événements spécifiques, fournissant ainsi un outil puissant de surveillance et de débogage. Pour activer les notifications d'événements, localisez le notify-keyspace-events réglage dans le /etc/redis/redis.conf déposer:

notify-keyspace-events ExA

Ici, nous configurons Redis pour envoyer des notifications pour les clés expirées et expulsées. La documentation officielle de Redis est une ressource complète pour plus d'informations sur les notifications d'événements et les choix disponibles.

Ajustement du niveau de journalisation Redis

Pour mieux dépanner et surveiller Redis, modifiez son niveau de journalisation. Vous pouvez le faire dans le fichier /etc/redis/redis.conf en ajustant le paramètre loglevel :

loglevel notice

Nous avons défini le niveau de journalisation par défaut sur « avis ». Les autres options sont « debug », « verbose », « notice » et « warning ». Choisissez le niveau qui correspond le mieux à vos besoins.

sudo systemctl restart redis-server

Cette commande redémarre Redis et les modifications seront actives.

Pensées finales

Nous avons couvert l'installation et la configuration de Redis sur les serveurs Debian 12, 11 ou 10. Cela inclut l'installation initiale, la configuration du pare-feu pour la sécurité et d'autres options de personnalisation. Redis propose de nombreux choix de configuration, vous permettant d'ajuster ses performances et son comportement en fonction de vos besoins.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

Laissez un commentaire