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.serviceCollez 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.targetEnregistrez 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.serviceEnsuite, créez un nouveau fichier /etc/security/limits.d/mongodb.conf avec l’éditeur ‘ nano ‘.
sudo nano /etc/security/limits.d/mongodb.confInsé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 64000Une fois terminé, enregistrez le fichier et quittez.
Après cela, éditez le fichier ‘ /etc/sysctl.conf ‘ avec ce qui suit.
sudo nano /etc/sysctl.confInsérez la configuration ci-dessous à la fin de la ligne.
fs.file-max = 2097152
vm.max_map_count = 262144
vm.swappiness = 1Enregistrez 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
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
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 \
--dearmorecho "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
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 -yDans la sortie suivante, vous pouvez voir l’installation de MongoDB.

Après la fin de l’installation, rechargez le gestionnaire systemd avec la commande ‘systemctl’.
sudo systemctl daemon-reloadDé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 mongodSi MongoDB fonctionne, vous verrez une sortie comme suit :

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.
mongoshExé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 adminMaintenant, 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()
Ensuite, éditez le fichier ‘ /etc/mongod.conf ‘ avec l’éditeur ‘ nano ‘.
sudo nano /etc/mongod.confDécommentez l’option ‘ security ‘ et ajoutez ‘ authorization: enabled ‘ pour activer l’authentification sur MongoDB.
security:
authorization: enabledEnregistrez 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 mongodTester 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
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.

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 mydbMaintenant, 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" } ]
}
)
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.

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
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 ‘.

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.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.