GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Comment installer MongoDB sur Ubuntu 18.04

Dans cet article, nous allons vous montrer comment installer MongoDB, gérer ses services et autoriser les connexions à distance sur un VPS Ubuntu 18.04.

MongoDB est un système de gestion de base de données open source qui appartient à une famille de NoSQL. NoSQL est différent des bases de données SQL traditionnelles basées sur des tables (MySQL et PostgreSQL) - les données sont stockées dans des documents flexibles de type JSON sans schéma prédéfini, ce qui permet d'apporter des modifications importantes aux bases de données sans temps d'arrêt. Commençons par l'installation.

Étape 1 :Connectez-vous à votre serveur

Avant de commencer, vous devez vous connecter à votre serveur via SSH en tant qu'utilisateur root. Pour cela, utilisez la commande suivante :

ssh root@IP_Address -p port_number

Vous devrez remplacer IP_Address et port_number par l'adresse IP de votre serveur et le numéro de port SSH. Si vous n'avez pas accès au compte root, vous pouvez utiliser un compte avec des privilèges sudo à la place.

Une fois connecté, assurez-vous que votre serveur est à jour en exécutant les commandes suivantes :

sudo apt update
sudo apt upgrade

Étape 2 :Installer MongoDB

Les référentiels de packages logiciels officiels Ubuntu sont livrés avec la version 3.6.3 de MongoDB, mais dans cet article, nous allons installer MongoDB 4.0, qui est la dernière version disponible. Cependant, vous pouvez toujours vérifier si une nouvelle version de MongoDB est disponible sur leur site officiel.

Pour installer MongoDB 4.0 Community Edition sur Ubuntu, nous devons importer la clé publique utilisée par le système de gestion des packages. Nous pouvons le faire avec la commande suivante :

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Puisque nous avons maintenant la clé importée, nous pouvons ajouter le référentiel MongoDB avec cette ligne suivante :

sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

Nous mettons ensuite à jour la liste des packages :

sudo apt update

À ce stade, le référentiel est activé et la liste des packages est mise à jour. Nous pouvons maintenant poursuivre l'installation du package MongoDB CE en saisissant la commande suivante :

sudo apt install mongodb-org

Les packages mongodb-org-server, mongodb-org-mongos, mongodb-org-shell et mongodb-org-tools seront installés sur votre système dans le cadre du package mongodb-org.

MongoDB 4.0 Community Edition est maintenant installé sur le serveur. Nous devons ensuite démarrer le service MongoDB et lui permettre de démarrer au démarrage.

sudo systemctl start mongod
sudo systemctl enable mongod

Pour vérifier l'installation de MongoDB, nous pouvons vérifier l'état de la connexion en tapant la commande :

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

Vous devriez avoir une sortie semblable à celle-ci :

MongoDB shell version v4.0.6
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("c806e0e1-ab30-4d41-b882-026c09d2893f") }
MongoDB server version: 4.0.6
{
"authInfo" : {
"authenticatedUsers" : [ ],
"authenticatedUserRoles" : [ ]
},
"ok" : 1
}

Félicitations, vous avez installé avec succès MongoDB sur votre serveur. La prochaine étape consistera à configurer votre serveur MongoDB.

Étape 3 :Configurer MongoDB

Nous pouvons configurer l'instance MongoDB en modifiant le mongod.conf fichier, situé dans /etc/ . Nous utiliserons Nano pour modifier le fichier, mais vous pouvez utiliser votre éditeur de texte préféré si vous le souhaitez.

sudo nano /etc/mongod.conf

Afin de permettre les connexions à distance et de mieux sécuriser MongoDB, nous allons apporter quelques modifications au fichier de configuration. MongoDB écoute par défaut les connexions sur le port 27017 sur localhost (IP 127.0.0.1) uniquement. Afin d'autoriser une connexion MongoDB à distance, vous devez ajouter l'adresse IP de votre serveur au fichier de configuration MongoDB. Ceci est illustré ci-dessous à titre d'exemple :

bind_ip = 127.0.0.1, your_server_ip
#port = 27017

security:
authorization: enabled

Nous avons également inclus une option d'autorisation qui réglementera l'accès des utilisateurs aux bases de données MongoDB. Si l'option d'autorisation n'est pas activée, chaque utilisateur aura accès à toutes les bases de données MongoDB et pourra effectuer n'importe quelle action, ce qui constitue un risque pour la sécurité. Après avoir enregistré les modifications dans le fichier de configuration MongoDB, nous devons redémarrer le service MongoDB avec la commande suivante pour que les modifications prennent effet :

sudo systemctl restart mongod

Étape 4 :Création d'un utilisateur administratif MongoDB

Puisque nous avons configuré le serveur MongoDB et activé l'option d'authentification, nous devons maintenant créer un compte utilisateur administratif MongoDB qui sera utilisé pour gérer l'instance MongoDB.

Pour accéder au shell mongo, tapez :

mongo

Ensuite, nous utiliserons la commande suivante pour nous connecter à la base de données d'administration :

use admin

Sortie :

switched to db admin

Nous allons exécuter la commande suivante pour créer un nouvel utilisateur administratif appelé mongo_admin avec le rôle userAdminAnyDatabase :

db.createUser(
{
user: "mongo_admin", 
pwd: "Strong_Pas$w0rd", 
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

Et nous obtiendrons ceci en sortie :

Successfully added user: {
"user" : "mongo_admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}

N'oubliez pas de remplacer "Strong_Pas$w0rd" par un véritable mot de passe fort. Nous pouvons maintenant quitter le shell mongo :

quit()

Étape 5 :Vérification de l'accès de l'utilisateur administratif

Pour confirmer les modifications, nous allons accéder au shell mongo en utilisant l'utilisateur mongo_admin que nous avons créé :

mongo -u mongo_admin -p --authenticationDatabase admin

use admin

show users

Et si vous avez suivi toutes les étapes jusqu'à présent, vous devriez avoir le résultat suivant :

Sortie :

> use admin
switched to db admin
> show users
{
"_id" : "admin.mongo_admin",
"user" : "mongo_admin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}

Vous pouvez également essayer de lister les utilisateurs lorsque vous accédez au shell mongo (sans arguments) et utiliser les mêmes commandes que nous avons utilisées auparavant.

Étape 6 :Autoriser l'accès à distance à MongoDB dans le pare-feu

Dans cette étape, nous fournirons un accès à distance à notre MongoDB en l'autorisant dans notre pare-feu. Si vous n'utilisez aucun pare-feu sur votre serveur, vous pouvez ignorer cette étape. Le port par défaut de MongoDB est 27017, donc dans nos exemples, nous allons vous montrer comment autoriser ce port via votre pare-feu.

Si vous utilisez l'UFW (pare-feu non compliqué), vous pouvez utiliser les conseils suivants pour permettre à MongoDB d'être accessible à distance.

Pour autoriser l'accès à MongoDB sur son port par défaut (27017) de partout, vous pouvez utiliser la commande suivante :

sudo ufw allow 27017

Pour autoriser l'accès à MongoDB sur son port par défaut 27017 à partir d'une adresse IP spécifique uniquement, vous pouvez utiliser la commande :

sudo ufw allow from allowed_IP_address/32 to any port 27017

Vous devrez remplacer l'adresse_IP_autorisée par l'adresse IP réelle que vous souhaitez utiliser.

Vous pouvez confirmer la modification des paramètres du pare-feu avec :

sudo ufw status

Sortie :

Status: active

To                         Action      From
--                         ------      ----
27017                      ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
27017 (v6)                 ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

Étape 7 :Connectez-vous à MongoDB

Maintenant que nous avons installé et configuré MongoDB, nous devons mentionner différentes manières de s'y connecter. Nous devons nous assurer que notre configuration MongoDB fonctionne avant d'essayer d'accéder au shell Mongo.

Instance MongoDB locale sur le port par défaut

La connexion la plus élémentaire au shell mongo consiste simplement à exécuter la commande mongo sans aucun argument :

mongo

Instance MongoDB locale sur un port autre que celui par défaut

Si nous voulons nous connecter au shell Mongo sur un port spécifique, nous pouvons utiliser :

mongo --port port_number

Remplacez simplement le numéro de port par votre numéro de port réel.

Instance MongoDB sur un hôte distant

Si nous devons nous connecter à une machine hôte distante avec l'instance MongoDB, nous pouvons utiliser les méthodes suivantes :

Nous pouvons spécifier une chaîne de connexion.

mongo mongodb://your_domain_name.com:port_number

Nous pouvons utiliser l'option de ligne de commande –host :

mongo --host your_domain_name.com:port_number

ou nous pouvons utiliser le –host et –port

mongo --host your_domain_name.com --port port_number

Instance MongoDB avec authentification

Nous allons utiliser ces exemples pour vous montrer comment vous connecter à une instance MongoDB qui nécessite une authentification.

Nous pouvons définir le nom d'utilisateur, la base de données d'authentification et le numéro de port dans notre chaîne de connexion. De plus, nous pouvons définir le mot de passe (qui est facultatif) dans notre chaîne de connexion. Si le mot de passe n'est pas défini dans notre chaîne de connexion, le shell demandera le mot de passe.

mongo --host mongodb://user@your_domain_name.com:port_number/?authSource=admin

Nous pouvons utiliser les options de ligne de commande –username , –password et –authenticationDatabase .

mongo --username user --password --authenticationDatabase admin --host your_domain_name.com --port port_number

Se connecter à un ensemble de répliques MongoDB

Nous pouvons spécifier le nom et les membres du jeu de répliques dans la chaîne de connexion.

mongo mongodb://your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number/?replicaSet=replA

Si vous utilisez le format de connexion DNS Seedlist, vous pouvez spécifier la chaîne de connexion :

mongo "mongodb+srv://server.your_domain_name.com/"

Nous pouvons spécifier le nom du jeu de réplicas et les membres à partir du –host / :, :,… Dans cet exemple, pour se connecter à un jeu de réplicas nommé replA :

mongo --host replA/your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number

Connexion TLS/SSL

Nous pouvons spécifier l'option ssl=true dans la chaîne de connexion.

mongo mongodb://your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number/?replicaSet=replA&ssl=true

ou nous pouvons spécifier –ssl dans la ligne de commande et utiliser l'exemple précédent sur la façon de se connecter au jeu de réplicas nommé replA :

mongo --ssl --host replA/your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number

Si vous souhaitez utiliser les commandes ci-dessus, n'oubliez pas de remplacer les valeurs telles que your_domain_name.com, host_name, user et replA dans les commandes par les valeurs réelles.

Étape 8 :désinstaller MongoDB

Si pour une raison quelconque vous n'aimez pas MongoDB et que vous devez le supprimer de votre système, vous pouvez suivre ces commandes :

sudo service mongod stop
sudo apt purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

Dans cet article, nous vous avons montré comment installer MongoDB, personnaliser le pare-feu, créer un utilisateur administrateur, activer l'accès à distance, se connecter à MongoDB et comment désinstaller et supprimer MongoDB. Vous pouvez maintenant utiliser ces connaissances et commencer à créer vos projets dans cette merveilleuse application.

Bien sûr, si vous êtes l'un de nos clients d'hébergement Ubuntu, ou si vous avez l'un de nos plans d'hébergement MongoDB géré, vous n'avez pas besoin d'installer MongoDB sur votre VPS Ubuntu 18.04 - demandez simplement à nos administrateurs, asseyez-vous et détendez-vous. Nos administrateurs installeront immédiatement MongoDB sur Ubuntu 18.04 pour vous.

PS . Si vous avez aimé cet article sur comment installer MongoDB sur un VPS Ubuntu 18.04 , partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons ci-dessous, ou laissez simplement un commentaire dans la section des commentaires. Merci.

Nouvelle version disponible ici :Comment installer MongoDB sur Ubuntu 20.04 et CentOS 8.


Panels
  1. Comment installer R sur Ubuntu 16.04

  2. Comment installer MongoDB sur Ubuntu 16.04

  3. Comment installer MongoDB sur Ubuntu 18.04

  4. Comment installer Go sur Ubuntu 18.04

  5. Comment installer MongoDB sur Ubuntu 20.04

Comment installer MongoDB Compass dans Ubuntu 20.04

Comment installer MongoDB sur Ubuntu

Comment installer MongoDB sur Ubuntu 14.04

Comment installer MongoDB sur Ubuntu 15.04

Comment installer MongoDB sur Ubuntu 16.04

Comment installer MongoDB sur Ubuntu 22.04