Manager, Developer Education
Une version antérieure de ce tutoriel a été écrite par Brennan Bearnes.
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
.
Pour suivre ce tutoriel, vous aurez besoin de :
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 :
- 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 :
OutputOK
Si vous souhaitez vérifier si la clé a été correctement ajoutée, vous pouvez le faire avec la commande suivante :
- 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
:
- 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
:
- sudo apt update
Après cela, vous pouvez installer MongoDB :
- 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.
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 :
- 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 :
- 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 :
- 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 :
- 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 :
OutputMongoDB 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
.
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 :
- sudo systemctl status mongod
Vous pouvez arrêter le service à tout moment en tapant :
- sudo systemctl stop mongod
Pour lancer le service lorsque celui-ci est arrêté, exécutez :
- sudo systemctl start mongod
Vous pouvez également redémarrer le serveur lorsque celui-ci est déjà en cours d’exécution :
- 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 :
- sudo systemctl disable mongod
Ensuite, pour le réactiver au démarrage, exécutez à nouveau la commande enable
:
- 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.
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.
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!