Redis, qui signifie «serveur de dictionnaire distant», est un magasin clé-valeur qui stocke les données sous forme de paires clé-valeur. Redis est une base de données NoSQL, ce qui signifie qu'elle n'a pas de tables, de lignes et de colonnes comme dans les bases de données MySQL et Oracle. Il n'utilise pas INSERT, SELECT, UPDATE et DELETE. Au lieu de cela, Redis utilise des structures de données pour stocker des données. Il utilise cinq structures de données principales, notamment des chaînes, des listes, des ensembles, des ensembles triés et des hachages, ainsi que trois structures de données supplémentaires, notamment des bitmaps, des hyperloglogs et des index géospatiaux. L'une des caractéristiques les plus importantes de Redis est qu'il s'agit d'une base de données en mémoire, ce qui signifie qu'elle conserve les données en mémoire, ce qui les rend ultra-rapides. Cependant, Redis a également des options pour écrire les données sur le disque.
Dans ce tutoriel, nous allons vous montrer comment installer et sécuriser Redis sur Ubuntu 18.04.
Prérequis
- Un nouveau VPS Ubuntu 18.04 sur la plate-forme cloud d'Atlantic.net.
- Un mot de passe root configuré sur votre serveur.
Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 18.04 comme système d'exploitation avec au moins 1 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois connecté à votre serveur Ubuntu 18.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
apt-get update -y
Installer le serveur Redis
apt-get install redis-server php-redis -y
Après avoir installé le serveur Redis, vous devrez configurer le serveur Redis pour utiliser le système init pour gérer Redis en tant que service. Vous pouvez le configurer en éditant le fichier redis.conf :
nano /etc/redis/redis.conf
Recherchez la ligne suivante :
supervised no
Remplacez-le par la ligne suivante :
supervised systemd
Enregistrez et fermez le fichier. Redémarrez ensuite le service Redis pour appliquer les modifications :
systemctl restart redis
Vous pouvez également vérifier l'état du service Redis avec la commande suivante :
systemctl status redis
Vous devriez obtenir le résultat suivant :
Vérifier le serveur Redis
Il est recommandé de tester si le serveur Redis fonctionne comme prévu ou non.
Vous pouvez le tester à l'aide de l'utilitaire de ligne de commande redis-cli :
redis-cli 127.0.0.1:6379> ping
Si tout va bien, vous devriez obtenir le résultat suivant :
PONG
Vous pouvez maintenant quitter le shell Redis avec la commande suivante :
exit
Vous pouvez également vérifier la version de Redis avec la commande suivante :
redis-cli -v
Sortie :
redis-cli 4.0.9
Pour plus d'informations sur Redis, exécutez la commande suivante :
redis-cli info
Vous devriez voir l'écran suivant :
Vous pouvez également vérifier le port d'écoute Redis avec la commande suivante :
netstat -lnp | grep redis
Vous devriez voir que le serveur Redis écoute sur localhost sur le port 6379 :
Sécuriser Redis avec un mot de passe
Tout d'abord, générez un mot de passe fort avec la commande OpenSSL comme indiqué ci-dessous :
openssl rand 60 | openssl base64 -A
Vous devriez voir la sortie suivante (un mot de passe comme celui-ci) :
MGDCmmWh2Ot+aZDv7TBr54SY5PueoSAVhX41sApcOLWYBTlPrfe01OT/nqO0YWK/y0ROozsDi9Dw61jR
Maintenant, collez votre mot de passe dans le fichier de configuration Redis /etc/redis/redis.conf :
nano /etc/redis/redis.conf
Recherchez la ligne suivante :
# requirepass foobared
Remplacez-le par la ligne suivante :
requirepass MGDCmmWh2Ot+aZDv7TBr54SY5PueoSAVhX41sApcOLWYBTlPrfe01OT/nqO0YWK/y0ROozsDi9Dw61jR
Enregistrez et fermez le fichier. Redémarrez ensuite le service Redis pour appliquer les modifications :
systemctl restart redis
Maintenant, connectez-vous à la ligne de commande Redis avec la commande suivante :
redis-cli 127.0.0.1:6379>
Maintenant, exécutez la commande suivante pour tester si le mot de passe Redis fonctionne :
127.0.0.1:6379> set test "How Are You"
Vous obtiendrez l'erreur suivante car n'a pas été authentifié :
(error) NOAUTH Authentication required.
Maintenant, authentifiez Redis avec le mot de passe comme indiqué ci-dessous :
127.0.0.1:6379> auth MGDCmmWh2Ot+aZDv7TBr54SY5PueoSAVhX41sApcOLWYBTlPrfe01OT/nqO0YWK/y0ROozsDi9Dw61jR
Vous devriez obtenir le résultat suivant :
OK
Maintenant, exécutez à nouveau la commande précédente :
127.0.0.1:6379> set test "How Are You"
Sortie :
OK
Maintenant, récupérez la valeur du test :
127.0.0.1:6379> get test
Vous devriez voir le résultat suivant :
"How Are You"
Une fois le test réussi, quittez la ligne de commande Redis avec la commande suivante :
127.0.0.1:6379> exit
Renommer les commandes dangereuses
C'est toujours une bonne idée de renommer certaines commandes dangereuses, notamment config, shutdown, flushdb, flushall et rename. Ces commandes peuvent détruire ou effacer vos données si elles sont exécutées par erreur.
Vous pouvez renommer ces commandes en éditant le fichier /etc/redis/redis.conf :
nano /etc/redis/redis.conf
Ajoutez les lignes suivantes à la fin du fichier :
rename-command CONFIG ATLANTICCONFIG rename-command FLUSHDB ATLANTICFLUSHDB rename-command SHUTDOWN ATLANTICSHUTDOWN rename-command FLUSHALL ATLANTICFLUSHALL
Enregistrez et fermez le fichier, puis redémarrez le service Redis pour appliquer les modifications :
systemctl restart redis
Pour tester les commandes ci-dessus, entrez la ligne de commande Redis :
redis-cli
Maintenant, authentifiez Redis avec le mot de passe comme indiqué ci-dessous :
127.0.0.1:6379> auth MGDCmmWh2Ot+aZDv7TBr54SY5PueoSAVhX41sApcOLWYBTlPrfe01OT/nqO0YWK/y0ROozsDi9Dw61jR
Vous devriez obtenir le résultat suivant :
OK
Maintenant, essayez d'exécuter la commande CONFIG d'origine comme indiqué ci-dessous :
127.0.0.1:6379> config get requirepass
Vous devriez obtenir l'erreur suivante :
(error) ERR unknown command 'config'
Maintenant, réessayez avec la commande renommée :
127.0.0.1:6379> atlanticconfig get requirepass
Vous devriez voir le résultat suivant :
1) "requirepass" 2) "MGDCmmWh2Ot+aZDv7TBr54SY5PueoSAVhX41sApcOLWYBTlPrfe01OT/nqO0YWK/y0ROozsDi9Dw61jR"
Conclusion
Toutes nos félicitations! Votre serveur Redis est maintenant installé et sécurisé. Cette méthode est compatible avec Atlantic.Net VPS Hosting. Pour plus d'informations, vous pouvez visiter la page de documentation Redis.