Tutorial

Comment installer MongoDB sur Ubuntu 20.04

Published on August 26, 2020
Default avatar

By Mark Drake

Manager, Developer Education

Français
Comment installer MongoDB sur Ubuntu 20.04

Une version antérieure de ce tutoriel a été écrite par Brennan Bearnes.

Introduction

MongoDB, également connu sous le nom de Mongo, est une base de données de documents open-source utilisée dans de nombreuses applications web modernes. Elle est classée comme une base de données NoSQL car elle ne repose pas sur une structure de base de données relationnelle traditionnelle basée sur des tableaux.

Elle utilise plutôt des documents de type JSON avec des schémas dynamiques, ce qui signifie que, à la différence des bases de données relationnelles, MongoDB ne nécessite pas de schéma prédéfini avant d’ajouter des données à une base de données. Vous pouvez modifier le schéma à tout moment et aussi souvent que nécessaire sans avoir à créer une nouvelle base de données avec un schéma mis à jour.

Dans ce tutoriel, vous allez installer MongoDB sur un serveur Ubuntu 20.04, tester, et apprendre à le gérer en tant que service systemd.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin de :

Étape 1 — Installation de MongoDB

Les référentiels de paquets officiels d’Ubuntu comprennent une version stable de MongoDB. Cependant, au moment d’écrire ces lignes, la version de MongoDB disponible dans les référentiels Ubuntu par défaut est la 3.6, alors que la dernière version stable est la 4.4.

Pour obtenir la version la plus récente de ce logiciel, vous devez inclure le référentiel de paquets dédié de MongoDB à vos sources APT. Ensuite, vous pourrez installer mongodb-org, un méta-paquet qui pointe toujours vers la dernière version de MongoDB.

Pour commencer, importez la clé GPG publique pour la dernière version stable de MongoDB. Vous pouvez trouver le fichier clé approprié en naviguant vers le serveur de clé MongoDB et en trouvant le fichier qui comprend le numéro de la dernière version stable et se termine par .asc. Par exemple, si vous voulez installer la version 4.4 de MongoDB, vous devez chercher le fichier nommé server-4.4.asc.

Cliquez avec le bouton droit sur le fichier, et sélectionnez Copy link address. Ensuite, collez ce lien dans la commande curl suivante, en remplaçant l’URL mise en surbrillance :

  1. curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

cURL est un outil en ligne de commande disponible sur de nombreux systèmes d’exploitation utilisés pour transférer des données. Il lit toute donnée stockée à l’URL qui lui est transmise et imprime le contenu à la sortie du système. Dans l’exemple suivant, cURL imprime le contenu du fichier clé GPG et l’envoie ensuite dans la commande sudo apt-key add qui suit, ajoutant ainsi la clé GPG à votre liste de clés de confiance.

Notez également que cette commande curl utilise les options -fsSL qui, ensemble, disent essentiellement à cURL d’échouer silencieusement. Cela signifie que si, pour une raison quelconque, cURL ne peut pas contacter le serveur GPG ou si le serveur GPG est en panne, il n’ajoutera pas accidentellement le code d’erreur résultant à votre liste de clés de confiance.

Cette commande renverra OK si la clé a été ajoutée avec succès :

Output
OK

Si vous souhaitez vérifier si la clé a été correctement ajoutée, vous pouvez le faire avec la commande suivante :

  1. apt-key list

Cela retournera la clé MongoDB quelque part dans la sortie :

Output
/etc/apt/trusted.gpg -------------------- pub rsa4096 2019-05-28 [SC] [expires: 2024-05-26] 2069 1EEC 3521 6C63 CAF6 6CE1 6564 08E3 90CF B1F5 uid [ unknown] MongoDB 4.4 Release Signing Key <packaging@mongodb.com> . . .

À ce stade, votre installation APT ne sait toujours pas où trouver le paquet mongodb-org dont vous avez besoin pour installer la dernière version de MongoDB.

Il existe deux endroits sur votre serveur où APT cherche les sources en ligne des paquets à télécharger et à installer : le fichier sources.list et le répertoire sources.list.d. sources.list est un fichier qui liste les sources actives des données APT, avec une source par ligne et les sources les plus appréciées en premier. Le répertoire sources.list.d vous permet d’ajouter ces entrées sources.list en tant que fichiers distincts.

Exécutez la commande suivante, qui crée dans le répertoire sources.list.d un fichier nommé mongodb-org-4.4.list. Le seul contenu de ce fichier est une ligne unique : deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse :

  1. echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Cette ligne unique indique à APT tout ce qu’il doit savoir sur la source et où la trouver :

  • deb : cela signifie que l’entrée source fait référence à une architecture Debian normale. Dans d’autres cas, cette partie de la ligne peut être deb-src, ce qui signifie que l’entrée source représente le code source d’une distribution Debian.
  • [ arch=amd64,arm64 ] : ceci spécifie sur quelles architectures les données APT devraient être téléchargées. Dans ce cas, il spécifie les architectures amd64 et arm64.
  • https://repo.mongodb.org/apt/ubuntu : il s’agit d’une URI de l’emplacement où les données APT se trouvent. Dans ce cas, l’URI pointe vers l’adresse HTTPS où se trouve le référentiel MongoDB officiel.
  • focal/mongodb-org/4.4 : les référentiels Ubuntu peuvent contenir plusieurs versions différentes. Ceci spécifie que vous ne voulez que la version 4.4 du paquet mongodb-org disponible pour la version focal d’Ubuntu (“Focal Fossa” étant le nom du code d’Ubuntu 20.04).
  • multiverse : cette partie dirige APT vers l’un des quatre principaux référentiels d’Ubuntu. Dans ce cas, il pointe vers le référentiel multiverse.

Après avoir exécuté cette commande, mettez à jour l’index local de votre serveur afin qu’APT sache où trouver le paquet mongodb-org :

  1. sudo apt update

Après cela, vous pouvez installer MongoDB :

  1. sudo apt install mongodb-org

Lorsque vous y êtes invité, appuyez sur Y et ensuite ENTER pour confirmer que vous voulez installer le paquet.

Lorsque la commande se termine, MongoDB sera installé sur votre système. Cependant, il n’est pas encore prêt à être utilisé. Ensuite, vous allez lancer MongoDB et confirmer qu’il fonctionne correctement.

Étape 2 — Démarrage du service MongoDB et test de la base de données

Le processus d’installation décrit dans l’étape précédente configure automatiquement MongoDB pour qu’il s’exécute en tant que démon contrôlé par systemd, ce qui signifie que vous pouvez gérer MongoDB en utilisant les différentes commandes systemctl. Toutefois, cette procédure d’installation ne démarre pas automatiquement le service.

Exécutez la commande systemctl suivante pour lancer le service MongoDB :

  1. sudo systemctl start mongod.service

Ensuite, vérifiez l’état du service. Notez que cette commande n’inclut pas .service dans la définition de fichier service. systemctl ajoutera automatiquement ce suffixe à n’importe quel argument que vous passerez s’il n’est pas déjà présent, il n’est donc pas nécessaire de l’inclure :

  1. sudo systemctl status mongod

Cette commande retournera une sortie semblable à celle-ci, indiquant que le service est opérationnel :

Output
● mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2020-06-09 12:57:06 UTC; 2s ago Docs: https://docs.mongodb.org/manual Main PID: 37128 (mongod) Memory: 64.8M CGroup: /system.slice/mongod.service └─37128 /usr/bin/mongod --config /etc/mongod.conf

Après avoir confirmé que le service fonctionnait comme prévu, activez le service MongoDB pour qu’il se lance au démarrage :

  1. sudo systemctl enable mongod

Vous pouvez également vérifier que la base de données est opérationnelle en vous connectant au serveur de base de données et en exécutant une commande de diagnostic. La commande suivante se connectera à la base de données et sortira sa version actuelle, son adresse serveur et son port. Elle retournera également le résultat de la commande interne connectionStatus de MongoDB :

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

connectionStatus vérifiera et retournera l’état de la connexion à la base de données. Une valeur de 1 pour le champ ok dans la réponse indique que le serveur fonctionne comme prévu :

Output
MongoDB shell version v4.4.0 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("1dc7d67a-0af5-4394-b9c4-8a6db3ff7e64") } MongoDB server version: 4.4.0 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

Notez également que la base de données est en cours d’exécution sur le port 27017 sur 127.0.0.1, l’adresse locale de rebouclage représentant localhost. Il s’agit du numéro de port par défaut de MongoDB.

Ensuite, nous allons examiner comment gérer l’instance serveur MongoDB avec systemd.

Étape 3 — Gestion du service MongoDB

Comme mentionné précédemment, le processus d’installation décrit à l’Étape 1 configure MongoDB pour qu’il s’exécute en tant que service systemd. Cela signifie que vous pouvez le gérer en utilisant des commandes standard systemctl comme vous le feriez avec d’autres services système Ubuntu.

Comme mentionné précédemment, la commande systemctl status vérifie l’état du service MongoDB :

  1. sudo systemctl status mongod

Vous pouvez arrêter le service à tout moment en tapant :

  1. sudo systemctl stop mongod

Pour lancer le service lorsque celui-ci est arrêté, exécutez :

  1. sudo systemctl start mongod

Vous pouvez également redémarrer le serveur lorsque celui-ci est déjà en cours d’exécution :

  1. sudo systemctl restart mongod

Dans l’Étape 2, vous avez permis à MongoDB de démarrer automatiquement avec le serveur. Si jamais vous souhaitez désactiver ce démarrage automatique, tapez :

  1. sudo systemctl disable mongod

Ensuite, pour le réactiver au démarrage, exécutez à nouveau la commande enable :

  1. sudo systemctl enable mongod

Pour plus d’informations sur la gestion des services systemd, consultez les Essentiels de Systemd : Travailler avec les services, les unités et le journal.

Conclusion

Dans ce tutoriel, vous avez ajouté le référentiel officiel de MongoDB à votre instance APT, et installé la dernière version de MongoDB. Vous avez ensuite testé les fonctionnalités de Mongo et avez pratiqué certaines commandes systemctl.

Comme prochaine étape immédiate, nous vous recommandons fortement de durcir la sécurité de votre installation MongoDB en suivant notre guide Comment sécuriser MongoDB sur Ubuntu 20.04. Une fois sécurisé, vous pouvez alors configurer MongoDB pour accepter des connexions distantes.

Vous pouvez trouver d’autres tutoriels sur la façon de configurer et d’utiliser MongoDB dans ces articles publiés par la communauté DigitalOcean. Nous vous encourageons également à consulter la documentation officielle de MongoDB, car il s’agit là d’une excellente ressource sur les possibilités offertes par MongoDB.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar

Manager, Developer Education

Technical Writer @ DigitalOcean

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel