Recherche de site Web

Comment installer MongoDB sur Ubuntu 18.04


MongoDB est un système de gestion de base de données documentaire open source moderne conçu pour une persistance des données haute performance, une haute disponibilité ainsi qu'une mise à l'échelle automatique, basé sur la technologie de pointe de NoSQL. Sous MongoDB, un enregistrement est un document, qui est une structure de données composée de paires de champs et de valeurs (les documents MongoDB sont comparables aux objets JSON).

Parce qu'il offre des performances élevées et d'excellentes fonctionnalités d'évolutivité, il est utilisé pour créer des applications modernes qui nécessitent des bases de données puissantes, critiques et à haute disponibilité.

Dans cet article, nous expliquerons comment installer MongoDB, gérer son service et configurer l'authentification de base sur Ubuntu 18.04.

Important : Notez que les développeurs de MongoDB proposent uniquement des packages pour les versions LTS 64 bits (support à long terme) d'Ubuntu telles que 14.04 LTS (trusty), 16.04 LTS (xenial), et ainsi de suite.

Lire aussi : Comment installer MongoDB sur Ubuntu 16.04/14.04 LTS

Étape 1 : Installation de MongoDB sur Ubuntu 18.04

1. Les référentiels de packages logiciels officiels d'Ubuntu sont livrés avec la dernière version de MongoDB et peuvent être facilement installés à l'aide du gestionnaire de packages APT.

Mettez d’abord à jour le cache du progiciel système pour disposer de la version la plus récente des listes de référentiels.

sudo apt update

2. Ensuite, installez le package MongoDB qui comprend plusieurs autres packages tels que mongo-tools, mongodb-clients, mongodb-server< et mongodb-server-core.

sudo apt install mongodb

3. Une fois que vous l'avez installé avec succès, le service MongoDB démarrera automatiquement via systemd et le processus écoutera sur le port 27017. Vous pouvez vérifier son état à l'aide de la commande systemctl comme indiqué.

sudo systemctl status mongodb

Étape 2 : Gérer le service MongoDB

4. L'installation de MongoDB est fournie sous la forme d'un service systemd et peut être facilement gérable via des commandes systemd standard, comme indiqué.

Pour arrêter d'exécuter le service MongoDB, exécutez la commande suivante.

sudo systemctl stop mongodb	

Pour démarrer un service MongoDB, tapez la commande suivante.

sudo systemctl start mongodb

Pour redémarrer un service MongoDB, tapez la commande suivante.

sudo systemctl restart mongodb	

Pour désactiver le service MongoDB démarré automatiquement, tapez la commande suivante.

sudo systemctl disable mongodb	

Pour réactiver le service MongoDB, tapez la commande suivante.

sudo systemctl enable mongodb	

Étape 3 : Activer l'accès à distance à MongoDB sur le pare-feu

5. Par défaut, MongoDB s'exécute sur le port 27017, pour permettre l'accès depuis n'importe quel endroit que vous pouvez utiliser.

sudo ufw allow 27017

Mais permettre l'accès à MongoDB depuis n'importe où donne un accès illimité aux données de la base de données. Il est donc préférable de donner accès à un emplacement d'adresse IP spécifique au port par défaut de MongoDB à l'aide de la commande suivante.

sudo ufw allow from your_server_IP/32 to any port 27017 
sudo ufw status

6. Par défaut le port 27017 est en écoute sur l'adresse locale 127.0.0.1 uniquement. Pour autoriser les connexions MongoDB à distance, vous devez ajouter l'adresse IP de votre serveur au fichier de configuration /etc/mongodb.conf comme indiqué.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Enregistrez le fichier, quittez l'éditeur et redémarrez MongoDB.

sudo systemctl restart mongodb

Étape 4 : Créer un utilisateur racine et un mot de passe de la base de données MongoDB

7. Par défaut, MongoDB est livré avec l'authentification utilisateur désactivée, il est donc démarré sans contrôle d'accès. Pour lancer le shell mongo, exécutez la commande suivante.

mongo 

8. Une fois connecté au shell mongo, vous pouvez lister toutes les bases de données disponibles avec la commande suivante.

> show dbs

9. Pour activer le contrôle d'accès sur votre déploiement MongoDB afin d'appliquer l'authentification ; obligeant les utilisateurs à s'identifier à chaque fois qu'ils se connectent au serveur de base de données.

MongoDB utilise par défaut le mécanisme d'authentification Salted Challenge Response Authentication Mechanism (SCRAM). À l'aide de SCRAM, MongoDB vérifie les informations d'identification de l'utilisateur fournies par rapport au nom, au mot de passe et à la base de données d'authentification de l'utilisateur (la base de données dans laquelle l'utilisateur a été créé et, avec le nom de l'utilisateur, sert à identifier l'utilisateur).

Vous devez créer un utilisateur administrateur (analogue à l'utilisateur root sous MySQL/MariaDB) dans la base de données admin. Cet utilisateur peut administrer les utilisateurs et les rôles, par exemple créer des utilisateurs, accorder ou révoquer des rôles aux utilisateurs et créer ou modifier des rôles personnalisés.

Basculez d’abord vers la base de données admin, puis créez l’utilisateur root à l’aide des commandes suivantes.

> use admin 
> db.createUser({user:"root", pwd:"=@!#@%$admin1", roles:[{role:"root", db:"admin"}]})

Quittez maintenant le shell mongo pour activer l'authentification comme expliqué ci-dessous.

10. L'instance mongodb a été démarrée sans l'option de ligne de commande --auth. Vous devez activer l'authentification des utilisateurs en modifiant le fichier /lib/systemd/system/mongod.service, ouvrez d'abord le fichier pour le modifier comme ceci.

sudo vim /lib/systemd/system/mongodb.service 

Dans la section de configuration [Service], recherchez le paramètre ExecStart.

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Remplacez-le par ce qui suit :

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Enregistrez le fichier et quittez-le.

11. 8. Après avoir apporté des modifications au fichier de configuration, exécutez « systemctl daemon-reload » pour recharger les unités, redémarrez le service MongoDB et vérifiez son état comme suit.

systemctl daemon-reload
sudo systemctl restart mongodb	
sudo systemctl status mongodb	

12. Désormais, lorsque vous essayez de vous connecter à mongodb, vous devez vous authentifier en tant qu'utilisateur MongoDB. Par exemple:

mongo -u "root" -p --authenticationDatabase "admin"

Remarque : Il n'est pas recommandé de saisir votre mot de passe sur la ligne de commande car il sera stocké dans le fichier historique du shell et pourra être consulté ultérieurement par un attaquant.

C'est tout! MongoDB est un système de gestion de base de données No-SQL open source et moderne qui offre des performances élevées, une haute disponibilité et une mise à l'échelle automatique.

Dans cet article, nous avons expliqué comment installer et démarrer avec MongoDB dans Ubuntu 18.04. Si vous avez des questions, utilisez le formulaire de commentaires ci-dessous pour nous contacter.