GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et configurer MongoDB sur Ubuntu 18.04 LTS

MongoDB est une base de données NoSQL qui offre des performances élevées, une haute disponibilité et une mise à l'échelle automatique de la base de données au niveau de l'entreprise. MongoDB est une base de données NoSQL, vous ne pouvez donc pas utiliser SQL (Structured Query Language) pour insérer et récupérer des données, et il ne stocke pas de données dans des tables comme MySQL ou Postgres. Les données sont stockées dans une structure "document" au format JSON (appelé BSON dans MongoDB). MongoDB a été introduit en 2009 et est actuellement développé par MongoDB Inc.

MongoDB propose uniquement des packages pour les versions 64 bits LTS (support à long terme) d'Ubuntu. Par exemple 14.04 LTS (fidèle), 16.04 LTS (xenial), 18.04 LTS (bionique) et ainsi de suite.

Dans ce tutoriel, j'installerai MongoDB 4.0 sur Ubuntu 18.04 LTS.

Prérequis

  • Serveur Ubuntu 18.04 - 64 bits
  • Privilèges root

Ce que nous allons faire dans ce didacticiel :

  1. Installer MongoDB
  2. Configurer MongoDB
  3. Conclusion

Installer MongoDB sur Ubuntu 18.04 LTS

Étape 1 - Importation de la clé publique

Les clés GPG du distributeur de logiciels sont requises par le gestionnaire de packages Ubuntu apt (Advanced Package Tool) pour garantir la cohérence et l'authenticité du package. Exécutez cette commande pour importer les clés MongoDB sur votre serveur.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4

Étape 2 - Créer le fichier de liste source MongoDB

Créez un fichier de liste MongoDB dans /etc/apt/sources.list.d/ avec cette commande :

sudo echo "deb http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Étape 3 - Mettre à jour le référentiel

mettez à jour le dépôt avec la commande apt :

sudo apt-get update

Étape 4 - Installer MongoDB

Vous pouvez maintenant installer MongoDB en tapant cette commande :

sudo apt-get install -y mongodb-org

Le programme d'installation de MongoDB apt a créé automatiquement un fichier mongod.service pour Systemd, il n'est donc plus nécessaire de le créer manuellement.

Démarrez MongoDB et ajoutez-le en tant que service à démarrer au démarrage :

sudo systemctl start mongod
sudo systemctl enable mongod

Vérifiez maintenant que MongoDB a été démarré sur le port 27017 avec la commande netstat.

sudo netstat -plntu

Configurer le nom d'utilisateur et le mot de passe MongoDB

Lorsque les packages MongoDB sont installés, vous pouvez configurer le nom d'utilisateur et le mot de passe pour le serveur de base de données :

Étape 1 - Ouvrir mongo shell

Avant de configurer un nom d'utilisateur et un mot de passe pour MongoDB, vous devez ouvrir le shell MongoDB sur votre serveur. Vous pouvez vous connecter en tapant :

mongo

Si vous obtenez l'erreur Échec de l'initialisation globale :BadValue Non valide ou aucun paramètre régional utilisateur défini. Veuillez vous assurer que les variables d'environnement LANG et/ou LC_* sont définies correctement, essayez la commande :

export LC_ALL=C
mongo

Étape 2 - Passer à l'administrateur de la base de données

Une fois que vous êtes dans le shell MongoDB, passez à la base de données nommée admin :

use admin

Étape 3 - Créer l'utilisateur root

Créez l'utilisateur root avec cette commande :

db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})

Description : Créez l'utilisateur admin avec le mot de passe admin123 et ayez l'autorisation/le rôle en tant que root et la base de données est admin .

Tapez maintenant exit pour quitter le shell MongoDB.

exit

Et vous êtes de retour sur le shell Linux.

Étape 4 - Activer l'authentification MongoDB

Modifiez le fichier de service mongodb "/lib/systemd/system/mongod.service" avec votre éditeur.

sudo nano /lib/systemd/system/mongod.service

Sur le 'ExecStart ' ligne 9, ajoutez la nouvelle option '--auth '.

ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf

Enregistrez le fichier de service et quittez nano.

Rechargez le service systemd :

sudo systemctl daemon-reload

Étape 5 - Redémarrez MongoDB et essayez de vous connecter

Maintenant, redémarrez MongoDB et connectez-vous avec l'utilisateur créé.

sudo service mongod restart

et connectez-vous au shell MongoDB avec cette commande :

mongo -u admin -p admin123 --authenticationDatabase admin

et vous verrez le résultat comme ceci :

Activer l'accès externe et configurer le pare-feu UFW

UFW est le pare-feu par défaut d'Ubuntu. Dans ce chapitre, je montrerai comment configurer UFW pour autoriser l'accès externe à MongoDB.

Vérifier le statut UFW

sudo ufw status

Lorsque le résultat est : 

Status: inactive

Activez UFW avec cette commande et ouvrez d'abord le port SSH si vous êtes connecté par SSH :

sudo ufw allow ssh
sudo ufw enable

avant de passer aux étapes suivantes.

Pour des raisons de sécurité, vous devez autoriser l'accès au port MongoDB 27017 uniquement à partir des adresses IP qui doivent accéder à la base de données. Par défaut, localhost est toujours en mesure d'y accéder, donc pas besoin d'ouvrir le port MongoDB pour l'IP 127.0.0.1.

Syntaxe du pare-feu UFW

sudo ufw allow from <target> to <destination> port <port number>

Ouvrir le port MongoDB dans UFW

Pour autoriser l'accès depuis l'IP externe 192.168.1.10 à MongoDB, utilisez cette commande :

sudo ufw allow from 192.168.1.10 to any port 27017

Remplacez l'adresse IP dans la commande ci-dessus par l'adresse IP externe à laquelle vous souhaitez autoriser l'accès à MongoDB.

Si vous souhaitez ouvrir le port MongoDB pour n'importe quelle adresse IP, par ex. si vous l'exécutez sur un réseau local et que tous les systèmes de ce réseau pourront accéder à MongoDB, utilisez cette commande :

sudo ufw allow 27017

Vérifiez l'état du pare-feu UFW avec cette commande :

sudo ufw status

MongoDB écoute localhost par défaut, pour rendre la base de données accessible de l'extérieur, nous devons la reconfigurer pour écouter également sur l'adresse IP du serveur.

Ouvrez le fichier mongod.conf dans l'éditeur nano :

sudo nano /etc/mongod.conf

et ajoutez l'adresse IP du serveur dans la ligne bind_ip comme ceci :

# network interfaces
net:
port: 27017
bindIp: 127.0.0.1,192,168.1.100

Remplacez 192.168.1.100 par l'adresse IP de votre serveur, puis redémarrez MongoDB pour appliquer les modifications.

sudo service mongod restart

Vous pouvez maintenant accéder au serveur de base de données MongoDB sur le réseau.

Image de machine virtuelle

Ce tutoriel est disponible sous forme de machine virtuelle prête à l'emploi au format OVA/OVF pour les abonnés Howtoforge. Le format VM est compatible avec VMWare et Virtualbox et d'autres outils qui peuvent importer le format ova ou ovf. Vous pouvez trouver le lien de téléchargement dans le menu de droite en haut. Cliquez sur le nom du fichier pour lancer le téléchargement.

Les identifiants de connexion de la VM sont :

Connexion SSH

Nom d'utilisateur : administrateur
Mot de passe :howtoforge

L'utilisateur administrateur dispose des autorisations sudo.

Veuillez changer les mots de passe après le premier démarrage.

La VM est configurée pour l'IP statique 192.168.1.100. Des instructions sur la façon de changer l'adresse IP statique peuvent être trouvées ici.

Conclusion

MongoDB est une base de données NoSQL bien connue qui offre des performances élevées, une haute disponibilité et une mise à l'échelle automatique. Il diffère des SGBDR tels que MySQL, PostgreSQL et SQLite car il n'utilise pas SQL pour définir et récupérer des données. MongoDB stocke les données dans des "documents" appelés BSON (représentation binaire de JSON avec des informations supplémentaires). MongoDB n'est disponible que pour la version 64 bits de support à long terme d'Ubuntu.


Ubuntu
  1. Comment installer et configurer Redis sur Ubuntu 18.04

  2. Comment installer et configurer Redmine sur Ubuntu 18.04

  3. Comment installer et configurer Ansible sur Ubuntu 18.04 LTS

  4. Comment installer et configurer MongoDB 5 sur Ubuntu 20.04

  5. Comment installer et configurer Fail2ban sur Ubuntu 20.04 LTS

Comment installer et configurer GitLab CE sur Ubuntu 18.04 LTS

Comment installer et configurer Docker-CE sur Ubuntu 18.04 LTS

Comment installer et configurer Odoo ERP sur Ubuntu 20.04 LTS

Comment installer MongoDB sur Ubuntu 20.04 LTS

Comment installer et configurer MySQL dans Ubuntu 20.04 LTS

Comment installer et configurer le serveur DNS sur Ubuntu 16.04 LTS