Base de données · 7 min read · Oct 21, 2025

Comment installer MongoDB sur Debian 12

MongoDB est un système de base de données NoSQL (non-SQL ou non relationnel) open-source, multiplateforme et distribué. Au lieu de stocker des données dans des tables comme les bases de données SQL traditionnelles, MongoDB utilise des documents flexibles pour stocker diverses formes de données. MongoDB utilise le format JSON binaire, BSON, pour le stockage des données.

MongoDB est une base de données NoSQL distribuée avec une haute disponibilité intégrée, un basculement automatique et une redondance des données, ainsi qu’une mise à l’échelle horizontale via le sharding à travers des clusters distribués, et il prend en charge le déploiement géographique multi-régions. MongoDB fournit également une API de requête qui prend en charge les opérations CRUD (lecture et écriture), le pipeline d’agrégation de données, la recherche textuelle et les requêtes géospatiales.

Dans ce tutoriel, vous apprendrez à installer MongoDB sur un serveur Debian 12. Vous apprendrez également à activer l’authentification MongoDB, à utiliser le client MongoDB ‘mongosh’ et à utiliser des requêtes de base pour créer un nouvel utilisateur et une nouvelle base de données dans MongoDB.

Prérequis

Pour commencer ce tutoriel, assurez-vous d’avoir les éléments suivants :

  • Un serveur Debian 12
  • Un utilisateur non-root avec des privilèges d’administrateur

Préparation du serveur Debian

Avant d’installer MongoDB sur votre serveur Debian, il est recommandé d’appliquer les paramètres suivants :

  • Désactiver les pages énormes transparentes (THP) via le script systemd
  • Augmenter les limites par défaut pour l’utilisateur MongoDB
  • Activer le swapiness et augmenter la mémoire max_mmap via le fichier ‘ /etc/sysctl.conf

Maintenant, configurons le serveur Debian.

Tout d’abord, exécutez la commande ‘ nano ‘ ci-dessous pour créer un nouveau fichier de service /etc/systemd/system/disable-thp.service.

sudo nano /etc/systemd/system/disable-thp.service

Collez le script de service suivant pour configurer ‘ transparent_hugepage ‘ sur ‘ never ‘.

[Unit]  
Description=Désactiver les pages énormes transparentes (THP)  
  
[Service]  
Type=simple  
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"  
  
[Install]  
WantedBy=multi-user.target

Enregistrez le fichier et quittez.

Maintenant, exécutez la commande ‘ systemctl ‘ suivante pour recharger le gestionnaire systemd. Ensuite, démarrez et activez le service ‘ disable-thp ‘. Avec cela, ‘ transparent_hugepage ‘ sera désactivé à chaque démarrage du système.

sudo systemctl daemon-reload  
sudo systemctl enable --now disable-thp.service

Ensuite, créez un nouveau fichier /etc/security/limits.d/mongodb.conf avec l’éditeur ‘ nano ‘.

sudo nano /etc/security/limits.d/mongodb.conf

Insérez la configuration ci-dessous pour définir les limites maximales de processus et de fichiers à ‘ 64000 ‘ pour l’utilisateur ‘ mongod ‘.

mongod soft nproc 64000  
mongod hard nproc 64000  
mongod soft nofile 64000  
mongod hard nofile 64000

Une fois terminé, enregistrez le fichier et quittez.

Après cela, éditez le fichier ‘ /etc/sysctl.conf ‘ avec ce qui suit.

sudo nano /etc/sysctl.conf

Insérez la configuration ci-dessous à la fin de la ligne.

fs.file-max = 2097152  
vm.max_map_count = 262144  
vm.swappiness = 1

Enregistrez le fichier et quittez.

Enfin, exécutez la commande ‘ sysctl ‘ ci-dessous pour appliquer les modifications sur le fichier ‘ /etc/sysctl.conf ‘ immédiatement.

sudo sysctl -p

setup system

Installation du serveur MongoDB sur Debian

Maintenant que vous avez configuré votre serveur Debian, commençons l’installation de MongoDB. Dans ce cas, vous allez installer MongoDB 7.0 via le dépôt officiel de MongoDB sur votre serveur Debian.

Installez les paquets ‘ gnupg ‘ et ‘ curl ‘ sur votre système Debian avec ce qui suit :

sudo apt install gnupg curl

install gnupe curl

Ajoutez maintenant la clé GPG et le dépôt MongoDB pour Debian avec la commande ci-dessous. Dans ce cas, vous allez configurer un dépôt pour MongoDB 7.0.

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \  
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \  
--dearmor
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

add repo

Ensuite, exécutez la commande ‘ apt ‘ ci-dessous pour rafraîchir votre liste de paquets et installer le paquet ‘mongodb-org’.

sudo apt update && sudo apt install mongodb-org -y

Dans la sortie suivante, vous pouvez voir l’installation de MongoDB.

install mongodb

Après la fin de l’installation, rechargez le gestionnaire systemd avec la commande ‘systemctl’.

sudo systemctl daemon-reload

Démarrez et activez le service ‘mongod’, puis vérifiez-le pour vous assurer que le service fonctionne.

sudo systemctl enable --now mongod  
sudo systemctl status mongod

Si MongoDB fonctionne, vous verrez une sortie comme suit :

check mongodb

Sécuriser le serveur MongoDB avec l’authentification

Avec MongoDB installé, vous devez sécuriser votre installation en activant l’authentification MongoDB. Dans cette section, vous allez configurer l’authentification MongoDB et créer un nouvel utilisateur administrateur pour MongoDB. Cela vous montrera comment utiliser ‘ mongosh ‘ ou le client MongoDB et des requêtes MongoDB de base.

Connectez-vous au serveur MongoDB avec la commande ‘ mongosh ‘ ci-dessous. Il n’y a pas de mot de passe pour l’installation par défaut de MongoDB.

mongosh

Exécutez la commande ‘ disableTelemetry() ‘ pour désactiver la collecte de données anonymes de MongoDB.

disableTelemetry()

Passez à la base de données ‘ admin ‘ avec la requête ‘ use ‘.

use admin

Maintenant, exécutez la requête suivante pour créer un nouvel utilisateur ‘ myAdmin ‘ qui sera utilisé comme administrateur pour votre serveur MongoDB. Entrez votre mot de passe lorsqu’on vous le demande.

db.createUser(  
{  
user: "myAdmin",  
pwd: passwordPrompt(),  
roles: [  
{ role: "userAdminAnyDatabase", db: "admin" },  
{ role: "readWriteAnyDatabase", db: "admin" }  
]  
}  
)

Tapez la commande ‘ quit() ‘ pour quitter le serveur MongoDB.

quit()

create user

Ensuite, éditez le fichier ‘ /etc/mongod.conf ‘ avec l’éditeur ‘ nano ‘.

sudo nano /etc/mongod.conf

Décommentez l’option ‘ security ‘ et ajoutez ‘ authorization: enabled ‘ pour activer l’authentification sur MongoDB.

security:  
  authorization: enabled

Enregistrez le fichier et quittez l’éditeur.

Maintenant, exécutez la commande ‘ systemctl ‘ ci-dessous pour redémarrer le serveur MongoDB et appliquer vos modifications.

sudo systemctl restart mongod

Tester l’authentification MongoDB

Maintenant que vous avez créé un utilisateur admin et activé l’authentification sur votre serveur MongoDB. Vérifions votre configuration en vous connectant au serveur MongoDB via l’utilisateur ‘myAdmin’.

Exécutez la commande ‘ mongosh ‘ ci-dessous pour vous connecter au serveur MongoDB en tant qu’utilisateur ‘myAdmin’ et saisissez votre mot de passe lorsqu’on vous le demande.

mongosh --port 27017 --authenticationDatabase \  
"admin" -u "myAdmin" -p

login mongodb

Après vous être connecté, exécutez la requête suivante pour vérifier l’état de la connexion au serveur MongoDB.

db.runCommand({connectionStatus : 1})

Vous pouvez voir ci-dessous que vous êtes connecté en tant qu’utilisateur ‘ myAdmin ‘ au serveur MongoDB.

check connection

Création de la première base de données et utilisateur

Dans cette section, vous allez créer une nouvelle base de données et un utilisateur qui seront utilisés pour votre application via le client MongoDB ‘mongosh’. Assurez-vous donc que vous êtes dans l’environnement ‘ mongosh ‘.

Tout d’abord, exécutez la requête ‘ use ‘ pour créer et passer à la base de données cible. Dans cet exemple, vous allez créer une nouvelle base de données ‘ mydb ‘. Votre invite MongoDB changera en ‘ mydb ‘.

use mydb

Maintenant, exécutez la requête suivante pour créer un nouvel utilisateur ‘myUser’ avec des privilèges de lecture et d’écriture sur la base de données ‘ mydb ‘. Saisissez un nouveau mot de passe lorsqu’on vous le demande.

use mydb  
db.createUser(  
{  
user: "myUser",  
pwd: passwordPrompt(),  
roles: [ { role: "readWrite", db: "mydb" },  
{ role: "read", db: "reporting" } ]  
}  
)

create new database and user

Ensuite, exécutez les requêtes suivantes pour passer à la base de données ‘ admin ‘ et vérifier la liste des utilisateurs sur votre serveur MongoDB.

use admin  
db.system.users.find()

Vous devriez voir l’utilisateur ‘ myAdmin ‘ et ‘ myUser ‘ créés comme suit :

Maintenant, tapez ‘ quit() ‘ pour quitter le serveur MongoDB.

listing users

Enfin, connectez-vous au serveur MongoDB en tant que nouvel utilisateur ‘ myUser ‘ à la base de données ‘ mydb ‘ avec la commande ci-dessous. Entrez votre mot de passe lorsqu’on vous le demande.

mongosh --port 27017 -u "myUser" \  
--authenticationDatabase "mydb" -p

login mongodb

Exécutez la requête ci-dessous pour vérifier votre connexion actuelle

db.runCommand({connectionStatus : 1})

Dans la section ‘ authInfo ‘, vous pouvez voir que vous vous êtes authentifié en tant qu’utilisateur ‘ myUser ‘ et base de données ‘ mydb ‘.

check connection

Conclusion

Félicitations ! Vous avez terminé l’installation de MongoDB 7.0 sur le serveur Debian 12. Vous avez également appris à sécuriser le serveur MongoDB en activant l’authentification, puis à créer un nouvel utilisateur administrateur pour MongoDB. Enfin, vous avez appris à créer une nouvelle base de données MongoDB et un utilisateur pour vos applications.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.