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.