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

Insé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.target

Enregistrez 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.service

Configuration 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.conf

Insé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 64000

Enregistrez 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.conf

Insérez la configuration suivante pour configurer fs.file-max et activer swappiness.

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

Une 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

setup system

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

install 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 \  
--dearmor
echo "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

install mongodb

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

install mongodb

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-reload

Enfin, 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

check mongodb service

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.

mongosh

Maintenant, exécutez la requête suivante pour désactiver la télémétrie MongoDB.

disableTelemetry()

login to mongodb

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 admin
db.createUser(  
{  
user: "myAdmin",  
pwd: passwordPrompt(),  
roles: [  
{ role: "userAdminAnyDatabase", db: "admin" },  
{ role: "readWriteAnyDatabase", db: "admin" }  
]  
}  
)

Maintenant, tapez ‘ quit() ‘ pour sortir du shell MongoDB.

create admin

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

Ajoutez les lignes suivantes pour activer l’authentification dans MongoDB.

security:  
authorization: enabled

Une 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 mongod

Tester 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

login to mongodb

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.

check connection

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 mydb

Maintenant, 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.

create database and user

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

login as new user

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

check connection

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.

Share: X/Twitter LinkedIn

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

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