Base de données · 7 min read · Sep 15, 2025
Comment installer et sécuriser MongoDB sur Ubuntu 24.04

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. Il prend en charge le déploiement géographique multi-régions et fournit 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 guide, nous allons vous montrer comment installer MongoDB sur un serveur Ubuntu 24.04. Vous préparerez votre serveur Ubuntu, ajouterez le dépôt MongoDB, installerez le serveur MongoDB, créerez un administrateur pour MongoDB, puis activerez l’authentification MongoDB. Enfin, vous apprendrez à créer un utilisateur et une base de données dans MongoDB en utilisant le shell ‘mongosh’.
Prérequis
Avant de commencer, assurez-vous d’avoir les éléments suivants :
- Un serveur Ubuntu 24.04
- Un utilisateur non-root avec des privilèges d’administrateur
Préparation du système
Avant d’installer MongoDB sur votre système Ubuntu, assurez-vous d’avoir configuré votre système. Dans ce cas, vous allez configurer le serveur Ubuntu avec les éléments suivants :
- Désactiver les Transparent Huge Pages via systemd
- Augmenter les limites pour l’utilisateur par défaut ‘mongod’
- Configurer le max fs.file-max et activer swappiness via le fichier ‘ /etc/systctl.conf ‘
Désactiver les Transparent Huge Pages (THP)
Pour désactiver THP sur votre système, vous allez créer un nouveau fichier de service systemd qui sera exécuté automatiquement à chaque démarrage.
Créez un nouveau fichier de service ‘/ etc/systemd/system/disable-thp.service ‘ avec l’éditeur ‘nano’.
sudo nano /etc/systemd/system/disable-thp.serviceInsérez la configuration suivante pour désactiver THP via le service.
[Unit]
Description=Désactiver les Transparent Huge Pages (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 l’éditeur.
Maintenant, exécutez la commande ‘ systemctl ‘ ci-dessous pour recharger le gestionnaire systemd, démarrer et activer le service ‘ disable-thp ‘. Avec cela, THP sera désactivé au démarrage du système.
sudo systemctl daemon-reload
sudo systemctl enable --now disable-thp.serviceConfiguration des Ulimits
Après avoir désactivé THP, vous devez augmenter le nombre maximal de fichiers et de processus par défaut pour l’utilisateur ‘mongod’ à au moins ‘ 64000 ‘.
Créez un nouveau fichier ‘ /etc/security/limits.d/mongodb.conf ‘ avec la commande de l’éditeur ‘nano’ suivante.
sudo nano /etc/security/limits.d/mongodb.confInsérez la configuration suivante pour augmenter le nombre maximal de fichiers ouverts et de processus à ‘ 64000 ‘.
mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000Enregistrez le fichier et quittez l’éditeur.
Configuration de swappiness et fs.file-max
Enfin, vous devrez augmenter le ‘ fs.file-max ‘ par défaut et activer swappiness pour MongoDB. Pour ce faire, vous allez éditer le fichier ‘ /etc/sysctl.conf ‘.
Ouvrez le fichier ‘ /etc/sysctl.conf ‘ avec la commande de l’éditeur ‘nano’.
sudo nano /etc/sysctl.confInsérez la configuration suivante pour configurer fs.file-max et activer swappiness.
fs.file-max = 2097152
vm.max_map_count = 262144
vm.swappiness = 1Une fois terminé, enregistrez le fichier et quittez l’éditeur.
Maintenant, exécutez la commande ‘ sysctl ‘ ci-dessous pour appliquer vos modifications sans redémarrer.
sudo sysctl -p
Installation de MongoDB avec le gestionnaire de paquets APT
Maintenant que vous avez configuré votre système Ubuntu, vous êtes prêt à installer MongoDB. Dans cette section, vous allez installer la dernière version de MongoDB 8.0 à partir du dépôt officiel de MongoDB.
Tout d’abord, exécutez la commande ‘ apt ‘ ci-dessous pour mettre à jour votre index de paquets Ubuntu et installer les paquets ‘ gnupg ‘ et ‘ curl ‘. Entrez ‘ Y ‘ pour confirmer l’installation.
sudo apt update && sudo apt install gnupg curl
Maintenant, exécutez la commande suivante pour ajouter la clé GPG et le dépôt pour MongoDB. Dans cet exemple, vous allez installer MongoDB 8 sur votre serveur Ubuntu 24.04.
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmorecho "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Ensuite, exécutez la commande ‘ apt ‘ ci-dessous pour mettre à jour votre index de paquets et installer le paquet ‘ mongodb-org ‘ sur votre système. Saisissez ‘ Y ‘ pour continuer l’installation.
sudo apt update && sudo apt install mongodb-org
Après l’installation, exécutez la commande ‘ systemctl ‘ ci-dessous pour recharger le gestionnaire systemd. Le service ‘ mongod ‘ est ajouté à votre système Ubuntu.
sudo systemctl daemon-reloadEnfin, exécutez la commande ci-dessous pour démarrer, activer et vérifier le service MongoDB ‘ mongod ‘. Vous verrez que MongoDB fonctionne sur votre système.
sudo systemctl enable --now mongod
sudo systemctl status mongod
Sécurisation du serveur MongoDB
Après avoir installé MongoDB, vous allez sécuriser l’installation du serveur MongoDB avec les éléments suivants :
- Création d’un nouvel utilisateur admin pour MongoDB en utilisant le shell ‘ mongosh ‘
- Activer l’authentification MongoDB en éditant le fichier de configuration ‘ /etc/mongod.conf ‘
Création d’un utilisateur admin MongoDB
Dans cette section, vous allez créer un nouvel utilisateur administrateur MongoDB via le shell ‘mongosh’. Le shell ‘mongosh’ est une ligne de commande client pour interagir avec le serveur MongoDB, c’est comme ‘mysql’ pour MySQL/MariaDB et ‘psql’ pour PostgreSQL.
Pour créer un utilisateur admin, connectez-vous au serveur MongoDB avec la commande shell ‘ mongosh ‘ ci-dessous.
mongoshMaintenant, exécutez la requête suivante pour désactiver la télémétrie MongoDB.
disableTelemetry()
Ensuite, allez à la base de données ‘ admin ‘ et exécutez les requêtes suivantes pour créer un nouvel utilisateur admin pour MongoDB. Dans cet exemple, vous allez créer un nouvel utilisateur ‘ myAdmin ‘, puis entrez votre nouveau mot de passe lorsqu’on vous le demande.
use admindb.createUser(
{
user: "myAdmin",
pwd: passwordPrompt(),
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
}
)Maintenant, tapez ‘ quit() ‘ pour sortir du shell MongoDB.

Activer l’authentification MongoDB
Maintenant que vous avez créé un utilisateur admin MongoDB, vous êtes prêt à activer l’authentification MongoDB via le fichier ‘ /etc/mongod.conf ‘.
Ouvrez la configuration par défaut du serveur MongoDB ‘ /etc/mongod.conf ‘ avec la commande de l’éditeur ‘nano’.
sudo nano /etc/mongod.confAjoutez les lignes suivantes pour activer l’authentification dans MongoDB.
security:
authorization: enabledUne fois terminé, 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. Avec cela, l’authentification MongoDB sera activée.
sudo systemctl restart mongodTester l’authentification MongoDB
Maintenant que vous avez sécurisé l’installation du serveur MongoDB, vérifions votre configuration en vous connectant à MongoDB avec le shell ‘mongosh’ et le nouvel utilisateur admin et mot de passe.
Connectez-vous au serveur MongoDB en tant qu’utilisateur ‘ myAdmin ‘ avec la commande ‘ mongosh ‘ ci-dessous. Entrez votre mot de passe lorsqu’on vous le demande.
mongosh --port 27017 --authenticationDatabase \
"admin" -u "myAdmin" -p
Une fois connecté, exécutez la requête ci-dessous pour vérifier votre statut de connexion. Vous devriez être connecté au serveur MongoDB avec l’utilisateur ‘ myAdmin ‘.
db.runCommand({connectionStatus : 1})Maintenant, tapez ‘ quit() ‘ pour sortir du serveur MongoDB.

Création d’une base de données et d’un utilisateur dans MongoDB
Dans cette section, vous apprendrez à créer une nouvelle base de données et un utilisateur dans MongoDB en utilisant le shell ‘mongosh’. Assurez-vous donc que vous êtes connecté à MongoDB en tant qu’utilisateur administrateur.
Tout d’abord, exécutez la requête ci-dessous pour passer à la base de données ‘ mydb ‘.
use mydbMaintenant, exécutez la requête suivante pour créer un nouvel utilisateur ‘ myUser ‘ et permettre l’accès en lecture et écriture à la base de données ‘ mydb ‘. Entrez votre mot de passe lorsqu’on vous le demande.
db.createUser(
{
user: "myUser",
pwd: passwordPrompt(), // ou mot de passe en clair
roles: [ { role: "readWrite", db: "mydb" },
{ role: "read", db: "reporting" } ]
}
)Tapez ‘ quit() ‘ pour sortir du serveur MongoDB.

Maintenant, exécutez la commande ‘mongosh’ ci-dessous pour vous connecter en tant que ‘ myUser ‘ à la base de données ‘ mydb ‘. Entrez votre mot de passe lorsqu’on vous le demande.
mongosh --port 27017 --authenticationDatabase \
"mydb" -u "myUser" -p
Une fois connecté, vérifiez votre statut de connexion en utilisant la requête suivante.
db.runCommand({connectionStatus : 1})Vous pouvez voir ci-dessous que vous êtes connecté au serveur MongoDB avec l’utilisateur ‘myUser’ et des privilèges sur la base de données ‘ mydb ‘.

Conclusion
Félicitations ! Vous avez terminé l’installation du serveur MongoDB sur le serveur Ubuntu 24.04. Vous avez également créé un utilisateur administrateur et sécurisé l’installation de MongoDB. Ensuite, vous avez appris à utiliser ‘mongosh’ pour vous connecter au serveur MongoDB et à effectuer des requêtes de base pour gérer les utilisateurs et les bases de données dans MongoDB.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.