Redis est un magasin de structure de données clé-valeur open-source (sous licence BSD) en mémoire utilisé en tant que base de données, cache et courtier de messages. Redis prend en charge les structures de données telles que les chaînes, les hachages, les listes, les ensembles, les ensembles triés avec des requêtes de plage, les bitmaps, les journaux hyperlog, les index géospatiaux et les flux. Redis offre également une haute disponibilité avec la logique logicielle Redis Sentinel, créant un partitionnement automatique sur les nœuds Redis avec Redis Cluster.
A la fin du guide, vous saurez comment installer et configurer Redis sur votre AlmaLinux système d'exploitation.
Prérequis
- OS recommandé : AlmaLinux 8.
- Compte utilisateur : Un compte utilisateur avec des privilèges sudo ou accès root (commande su) .
Mise à jour du système d'exploitation
Mettez à jour votre AlmaLinux système d'exploitation pour s'assurer que tous les packages existants sont à jour :
sudo dnf upgrade --refresh -y
Le tutoriel utilisera la commande sudo et en supposant que vous avez le statut sudo . Pour vérifier le statut sudo sur votre compte :
sudo whoami
Exemple de sortie montrant l'état de sudo :
[joshua@localhost ~]$ sudo whoami
root
Si vous n'avez pas configuré de compte utilisateur sudo et que vous souhaitez le faire, consultez notre tutoriel sur Comment ajouter un utilisateur à Sudoers sur AlmaLinux .
Pour utiliser le compte racine , utilisez la commande suivante avec le mot de passe root pour vous connecter.
su
Installer Redis
Par défaut, Redis est fourni dans le flux d'application par défaut d'AlmaLinux. Cependant, vous avez la possibilité d'installer Redis série 5 ou 6. Par défaut, avec la plupart des distributions Linux, y compris AlmaLinux série 5 est sélectionné.
Pour afficher les modules disponibles à partir desquels installer Redis, utilisez la commande suivante dans votre terminal.
sudo dnf module list redis
Exemple de résultat :
Comme vous pouvez le voir avec la sortie, la série 5 est la valeur par défaut avec le drapeau [d] sur la colonne Stream . Peut-être souhaitez-vous installer la nouvelle version de Redis. Pour ce faire, utilisez la commande suivante pour échanger les versions.
sudo dnf module enable redis:6
Exemple de résultat :
Tapez "O" , puis appuyez sur la « TOUCHE ENTRÉE » procéder à l'installation
Réexécutez la commande dnf module list redis pour voir la nouvelle valeur par défaut, puis installez Redis avec le tutoriel suivant.
Si vous avez des doutes ou si vous avez besoin de Redis série 5, vous devrez désinstaller la version existante de Redis série 6 et réinitialiser la liste des modules par défaut avec la commande suivante.
sudo dnf module reset redis -y
Exemple de résultat en cas de succès :
Complete!
Dans votre terminal, exécutez la commande suivante.
sudo dnf install redis
Exemple de résultat :
Tapez "O", puis appuyez sur "ENTER KEY" pour poursuivre l'installation.
Vérifiez que Redis a été installé correctement en vérifiant sa version et sa commande de compilation :
redis-cli --version
Exemple de résultat :
redis-cli 6.0.9
Par défaut, Redis n'est pas activé au démarrage ou activé après l'installation.
Pour démarrer le service Redis :
sudo systemctl start redis
Pour activer le démarrage automatique du service Redis au démarrage du système :
sudo systemctl enable redis
Ensuite, vérifiez l'état et assurez-vous que Redis est en cours d'exécution et, plus important encore, sans erreur :
systemctl status redis
Exemple de résultat :
Notez que Reddis écoute activement localhost sur le port 6379 par défaut . Pour confirmer ce type, procédez comme suit :
ps -ef | grep redis
Exemple de résultat :
joshua 8492 5522 0 00:44 pts/0 00:00:00 grep --color=auto redis
Maintenant, pendant que vous testez que tout fonctionne et est opérationnel, c'est une bonne idée de vous connecter à votre service Redis, puis d'effectuer un test ping.
Pour effectuer le test, saisissez la commande suivante :
redis-cli
Une fois connecté, votre terminal affichera (127.0.0.1:6379 ). Envoyez maintenant un ping au service Redis comme suit :
ping
Exemple de résultat :
127.0.0.1:6379> ping
PONG
Tapez ce qui suit pour quitter l'instance Redis :
exit
Félicitations, vous avez installé Redis sur votre système d'exploitation AlmaLinux et vérifié qu'il est opérationnel. Ensuite, vous pouvez configurer Redis.
Comment configurer Redis
Redis peut être configuré de plusieurs manières. L'action la plus notable pour laquelle les gens utilisent Redis est à des fins de mise en cache. Pour ce faire, vous devez ouvrir le "/etc/redis/redis.conf ” fichier à l'aide de l'éditeur nano.
sudo nano /etc/redis.conf
Configurer la mémoire maximale
Maintenant, ajoutez ce qui suit à la fin du fichier. Notez que vous pouvez modifier la valeur de la mémoire à votre guise ou, plus important encore, optimale pour votre application Web et votre matériel serveur.
maxmemory 500mb
maxmemory-policy allkeys-lru
Comme vous pouvez le voir, le paramètre du guide dispose de 500 Mo dédiés à Redis car il se trouve sur un hôte dédié avec beaucoup de RAM à revendre. Une fois les 500 Mo épuisés, Redis supprime toute clé conformément à l'algorithme LRU.
Configurer l'accès au réseau
Une autre option consiste à écouter tous les services ou à définir une adresse IP/un sous-réseau si vous aimez votre service Redis.
Tout d'abord, recherchez la ligne 69 dans le fichier de configuration.
Tout d'abord, pour écouter toutes les interfaces réseau, commentez "#" la ligne lie à IP :
Exemple :
# bind 127.0.0.1 ::1
Méthode alternative :
bind 0.0.0.0/0
Remarque :assurez-vous que votre réseau interne est digne de confiance et que des contrôles de sécurité appropriés sont en place.
Pour vous lier à une adresse IP, assurez-vous qu'il s'agit d'une adresse IP statique.
Exemple :
bind 192.150.5.2
Pour lier un sous-réseau de réseau.
Exemple :
bind 192.150.5.0/24
Notez qu'il est fortement suggéré de définir un mot de passe lors de l'utilisation du sous-réseau ou de l'accès à toutes les interfaces à écouter.
Configurer le mot de passe
Une autre fonctionnalité de sécurité et pour renforcer encore Redis consiste à définir un mot de passe sur l'instance Redis.
Accédez à la ligne 507 et décommentez le "# requiredpass" ligne et définissez un mot de passe.
Exemple :
requiredpass APASSWORD
Assurez-vous que ce mot de passe est robuste, que les chiffres, les lettres, les symboles spéciaux et les majuscules sont aléatoires, car les serveurs Redis peuvent très bien être brutalement forcés sur une boîte décente.
Ensuite, lors de l'appel de Redis-CLI, utilisez la commande suivante avec le mot de passe qui a été défini pour l'utilisateur.
Exemple :
auth THEPASSWORDSET
"LEMOT DE PASSE" est le mot de passe qui a été créé.
Lorsqu'un utilisateur ne parvient pas à se connecter, il verra le message d'erreur suivant.
(error) NOAUTH Authentication required.
Lorsqu'un utilisateur se connecte avec succès, il verra le message suivant.
OK
Une fois terminé, enregistrez vos modifications CTRL+O puis quittez CTRL+X . Redémarrez maintenant le service Redis en tapant :
sudo systemctl restart redis
Configurer Firewalld pour Redis
Par défaut, aucune règle n'est configurée pour Redis. Cela signifie que vous devrez créer des règles d'autorisation qui sont essentielles pour arrêter les attaques sur Redis, l'échec de la sécurisation de Redis entraînera des problèmes sur la voie, alors ne sautez pas cela à moins que vous n'ayez d'autres moyens de protéger votre installation Redis.
Tout d'abord, ajoutez une nouvelle zone dédiée pour la stratégie de pare-feu Redis :
sudo firewall-cmd --permanent --new-zone=redis
Ensuite, spécifiez les adresses IP autorisées qui sont autorisées à accéder à Redis.
sudo firewall-cmd --permanent --zone=redis --add-source=1.2.3.4
Remplacer 1.2.3.4 par l'IP adresse qui sera ajoutée à la liste d'autorisation.
Une fois que vous avez fini d'ajouter les adresses IP, ouvrez le port du Redis. Par défaut, il s'agit du port TCP 6379 .
sudo firewall-cmd --permanent --zone=redis --add-port=6379/tcp
Notez que vous pouvez modifier le port par défaut dans votre fichier de configuration si vous remplacez la règle d'ouverture du port de pare-feu ci-dessus par la nouvelle valeur.
Après avoir exécuté ces commandes, rechargez le pare-feu pour mettre en œuvre les nouvelles règles :
sudo firewall-cmd --reload
Exemple de résultat en cas de succès :
success
Maintenant, comme vous l'avez testé au début du guide en envoyant un ping à votre service Redis pour vous assurer qu'il était opérationnel, vous pouvez essayer les règles de pare-feu et les changements d'IP en utilisant le "redis-cli" commande :
redis-cli -h <ip address> ping
Si la configuration est correcte, la sortie devrait être :
pong
Comment supprimer (désinstaller) Redis
Pour supprimer Redis, utilisez la commande suivante dans votre terminal.
sudo dnf autoremove redis -y
Cela supprimera immédiatement Redis de votre système.