MongoDB est un système de base de données orienté document open source et multiplateforme écrit en C++. Il stocke les données dans des collections de documents flexibles de type JSON et les utilise pour créer des sites Web et des applications puissants. En raison de son évolutivité et de ses hautes performances, il est utilisé pour créer des applications modernes qui nécessitent des bases de données puissantes, critiques et à haute disponibilité.
Dans ce tutoriel, nous expliquerons comment installer et utiliser le système de base de données MongoDB sur le serveur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un mot de passe root est configuré sur votre serveur.
Installer MongoDB
Par défaut, la dernière version de MongoDB n'est pas disponible dans le référentiel par défaut d'Ubuntu 20.04. Vous devrez donc ajouter le référentiel MongoDB officiel dans votre système.
Tout d'abord, installez le package Gnupg avec la commande suivante :
apt-get install gnupg -y
Ensuite, téléchargez et ajoutez la clé MongoDB GPG avec la commande suivante :
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
Ensuite, ajoutez le référentiel MongoDB avec la commande suivante :
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Ensuite, mettez à jour le référentiel et installez MongoDB avec la commande suivante :
apt-get update -y
apt-get install mongodb-org -y
Une fois l'installation terminée, démarrez le service MongoDB et autorisez-le à démarrer au redémarrage avec la commande suivante :
systemctl start mongod
systemctl enable mongod
Vous pouvez maintenant vérifier l'état du service MongoDB avec la commande suivante :
systemctl status mongod
Vous devriez obtenir le résultat suivant :
? mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-05-15 05:30:39 UTC; 18s ago Docs: https://docs.mongodb.org/manual Main PID: 106996 (mongod) Memory: 76.0M CGroup: /system.slice/mongod.service ??106996 /usr/bin/mongod --config /etc/mongod.conf May 15 05:30:39 ubuntu2004 systemd[1]: Started MongoDB Database Server. May 15 05:30:48 ubuntu2004 systemd[1]: /lib/systemd/system/mongod.service:11: PIDFile= references a path below legacy directory /var/run/, upd> lines 1-11/11 (END)
Vous pouvez également vérifier la version de MongoDB et l'adresse du serveur à l'aide de la commande suivante :
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Vous devriez obtenir le résultat suivant :
MongoDB shell version v4.2.6 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e1575445-f441-4b30-a5d7-4cf68852e68f") } MongoDB server version: 4.2.6 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }
Configurer MongoDB
Le fichier de configuration par défaut de MongoDB se trouve dans /etc/mongod.conf. Par défaut, chaque utilisateur aura accès à toutes les bases de données et effectuera n'importe quelle action. Pour les environnements de production, il est recommandé d'activer l'authentification MongoDB.
Vous pouvez le faire en éditant le fichier /etc/mongod.conf :
nano /etc/mongod.conf
Ajoutez les lignes suivantes :
security: authorization: enabled
Enregistrez et fermez le fichier puis redémarrez le service MongoDB pour appliquer les modifications :
systemctl restart mongod
Créer un utilisateur administrateur MongoDB
Après avoir activé l'authentification MongoDB, vous devrez créer un utilisateur administrateur pour accéder et gérer la base de données MongoDB.
Tout d'abord, accédez à la console MongoDB avec la commande suivante :
mongo
Vous devriez voir le résultat suivant :
MongoDB shell version v4.2.6 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("9ee0ea0c-cf95-4b83-9e88-00dc3a61e0a6") } MongoDB server version: 4.2.6 Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user
Ensuite, connectez-vous à la base de données d'administration avec la commande suivante :
> use admin
Vous devriez voir le résultat suivant :
switched to db admin
Ensuite, créez un nouvel utilisateur administrateur et définissez le mot de passe avec la commande suivante :
> db.createUser( { user: "admin", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
Vous devriez obtenir le résultat suivant :
Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
Ensuite, quittez la console MongoDB avec la commande suivante :
> quit()
Vérifier l'authentification MongoDB
À ce stade, MongoDB est configuré avec l'authentification.
Maintenant, essayez de vous connecter à MongoDB en utilisant l'utilisateur que vous avez créé précédemment :
mongo -u admin -p --authenticationDatabase admin
Il vous sera demandé de fournir le mot de passe comme indiqué ci-dessous :
MongoDB shell version v4.2.6 Enter password:
Fournissez votre mot de passe administrateur et appuyez sur Entrée. Vous devriez voir le résultat suivant :
connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("00d6d1eb-d1c3-41ea-89c7-d46ec6d17bee") } MongoDB server version: 4.2.6
Maintenant, changez la base de données en admin avec la commande suivante :
> use admin
Vous devriez voir le résultat suivant :
switched to db admin
Maintenant, listez les utilisateurs avec la commande suivante :
> show users
Vous devriez obtenir le résultat suivant :
{ "_id" : "admin.admin", "userId" : UUID("65907484-9d67-4e6e-bb88-a6666310e963"), "user" : "admin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } >
Conclusion
Dans le guide ci-dessus, vous avez appris à installer et à configurer MongoDB sur le serveur Ubuntu 20.04. Pour plus d'informations, vous pouvez consulter la documentation MongoDB sur Mongo Doc.