Comment installer MongoDB sur Ubuntu 16.04

introduction

MongoDB est une base de données de documents NoSQL gratuite et à source ouverte utilisée couramment dans les applications Web modernes. Ce didacticiel vous aidera à configurer MongoDB sur votre serveur pour un environnement d’application de production.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin de:

[[step-1 -—- ajoutant-the-mongodb-repository]] == Étape 1 - Ajout du référentiel MongoDB

MongoDB est déjà inclus dans les référentiels de paquets Ubuntu, mais le référentiel officiel MongoDB fournit la version la plus récente et constitue le moyen recommandé d’installer le logiciel. Dans cette étape, nous allons ajouter ce référentiel officiel sur notre serveur.

Ubuntu garantit l'authenticité des progiciels en vérifiant qu'ils sont signés avec des clés GPG. Nous devons donc d'abord importer leur clé pour le référentiel MongoDB officiel.

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

Après avoir importé avec succès la clé, vous verrez:

Sortie

gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Ensuite, nous devons ajouter les détails du référentiel MongoDB pour queapt sache où télécharger les packages.

Exécutez la commande suivante pour créer un fichier de liste pour MongoDB.

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

Après avoir ajouté les détails du référentiel, nous devons mettre à jour la liste des packages.

sudo apt-get update

[[step-2 -—- Installing-and-Verifying-mongodb]] == Étape 2 - Installation et vérification de MongoDB

Nous pouvons maintenant installer le paquet MongoDB lui-même.

sudo apt-get install -y mongodb-org

Cette commande installera plusieurs packages contenant la dernière version stable de MongoDB ainsi que des outils de gestion utiles pour le serveur MongoDB.

Ensuite, démarrez MongoDB avecsystemctl.

sudo systemctl start mongod

Vous pouvez également utilisersystemctl pour vérifier que le service a démarré correctement.

sudo systemctl status mongod

Sortie

● mongodb.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/etc/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2016-04-25 14:57:20 EDT; 1min 30s ago
 Main PID: 4093 (mongod)
    Tasks: 16 (limit: 512)
   Memory: 47.1M
      CPU: 1.224s
   CGroup: /system.slice/mongodb.service
           └─4093 /usr/bin/mongod --quiet --config /etc/mongod.conf

La dernière étape consiste à activer le démarrage automatique de MongoDB au démarrage du système.

sudo systemctl enable mongod

Le serveur MongoDB est maintenant configuré et en cours d'exécution, et vous pouvez gérer le service MongoDB à l'aide de la commandesystemctl (par ex. sudo systemctl stop mongod,sudo systemctl start mongod).

[[step-3 -—- Adjusting-the-firewall-optional]] == Étape 3 - Ajustement du pare-feu (facultatif)

En supposant que vous ayez suivi les instructions deinitial server setup tutorial pour activer le pare-feu sur votre serveur, le serveur MongoDB sera inaccessible depuis Internet.

Si vous envisagez d'utiliser le serveur MongoDB uniquement localement avec des applications s'exécutant sur le même serveur, il s'agit d'un paramètre recommandé et sécurisé. Cependant, si vous souhaitez pouvoir vous connecter à votre serveur MongoDB depuis Internet, nous devons autoriser les connexions entrantes dansufw.

Pour autoriser l'accès à MongoDB sur son port par défaut27017 de partout, vous pouvez utilisersudo ufw allow 27017. Cependant, l'activation de l'accès Internet au serveur MongoDB sur une installation par défaut donne un accès illimité à l'ensemble du serveur de base de données.

Dans la plupart des cas, MongoDB doit être accessible uniquement à partir de certains emplacements approuvés, tels qu'un autre serveur hébergeant une application. Pour accomplir cette tâche, vous pouvez autoriser l’accès au port par défaut de MongoDB tout en spécifiant l’adresse IP d’un autre serveur explicitement autorisé à se connecter.

sudo ufw allow from your_other_server_ip/32 to any port 27017

Vous pouvez vérifier la modification des paramètres du pare-feu avecufw.

sudo ufw status

Vous devriez voir le trafic vers le port27017 autorisé dans la sortie.Si vous avez décidé de n'autoriser qu'une certaine adresse IP à se connecter au serveur MongoDB, l'adresse IP de l'emplacement autorisé sera répertoriée au lieu deAnywhere dans la sortie.

Sortie

Status: active

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

Des paramètres de pare-feu plus avancés pour restreindre l'accès aux services sont décrits dansUFW Essentials: Common Firewall Rules and Commands.

Conclusion

Vous pouvez trouver des instructions plus détaillées concernant l'installation et la configuration de MongoDB dansthese DigitalOcean community articles.