MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment installer MongoDB sur Ubuntu 18.04

MongoDB est un système de gestion de base de données de documents moderne et open source 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 des 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 vous 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 proposer uniquement des packages pour LTS 64 bits (support à long terme) Versions d'Ubuntu telles que 14.04 LTS (fidèle), 16.04 LTS (xenial), et ainsi de suite.

Étape 1 :Installer 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 peut être facilement installé à l'aide du gestionnaire de packages APT.

Commencez par mettre à jour le cache du package logiciel 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 inclut 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émarre automatiquement via systemd et le processus écoute 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. Le MongoDB l'installation est fournie en tant que service systemd et peut être facilement gérée via des commandes systemd standard, comme indiqué.

Pour arrêter l'exécution du 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 fonctionne sur le port 27017 , pour permettre l'accès depuis n'importe quel endroit où vous pouvez l'utiliser.

$ sudo ufw allow 27017

Mais permettre l'accès à MongoDB de partout 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 à l'écoute sur l'adresse locale 127.0.0.1 seul. Pour autoriser les connexions MongoDB à distance, vous devez ajouter l'adresse IP de votre serveur à /etc/mongodb.conf fichier de configuration 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 pour la base de données MongoDB

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

$ mongo 

8. Une fois que vous vous êtes connecté au mongo shell , 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 le mécanisme d'authentification Salted Challenge Response (SCRAM ) mécanisme d'authentification par défaut. Utiliser SCRAM , MongoDB vérifie les informations d'identification de l'utilisateur fournies par rapport au nom de l'utilisateur, au mot de passe et à la base de données d'authentification (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 d'administration. Cet utilisateur peut administrer des utilisateurs et des rôles tels que créer des utilisateurs, accorder ou révoquer des rôles d'utilisateurs et créer ou modifier des rôles personnalisés.

Passez d'abord à l'administrateur base de données, puis créez l'utilisateur racine en utilisant les commandes suivantes.

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

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

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

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

Sous le [Service] section config, 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 et redémarrer le service MongoDB et vérifier son état comme suit.

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

12. Maintenant, 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 est déconseillé de saisir votre mot de passe en 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 moderne et open source 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 commentaire ci-dessous pour nous contacter.