Installer MongoDB sur un VPS Linux : le tutoriel complet

Vous cherchez a installer MongoDB sur VPS pour heberger une base de donnees orientee documents rapide et scalable ? Ce tutoriel 2026 couvre l'installation propre du serveur, la configuration reseau, la securisation avec authentification et pare-feu, ainsi que les bonnes pratiques d'exploitation. On part d'un VPS Linux fraichement provisionne et on va jusqu'a une instance MongoDB pretes pour la production.
Prerequis et choix du VPS pour installer MongoDB
MongoDB est gourmand en RAM car son moteur de stockage WiredTiger met en cache les donnees actives en memoire. Avant de vous lancer, il faut dimensionner correctement votre machine et choisir un OS supporte.
Configuration materielle recommandee
Pour un usage serieux, evitez les micro-instances. MongoDB apprecie particulierement le stockage rapide : un disque NVMe Gen4 reduit drastiquement les temps de lecture/ecriture sur les gros datasets et les operations d'index.
| Usage | vCPU | RAM | Stockage |
|---|---|---|---|
| Developpement / test | 2 | 4 Go | 40 Go NVMe |
| Petite production | 4 | 8 Go | 80 Go SSD SAS |
| Production intensive | 8+ | 16 Go+ | 160 Go+ SSD SAS |
Un CPU dedie evite le bruit du voisinage sur les charges concurrentes. Les VPS Linux OmegaCloud exploitent du SSD SAS et une virtualisation KVM avec kernel recent, ce qui simplifie l'usage de WiredTiger et des huge pages.
Systeme d'exploitation supporte
MongoDB 7.x et 8.x fournissent des paquets officiels pour Debian, Ubuntu et les distributions Red Hat (Rocky, Alma). Dans ce guide, on utilise Ubuntu 24.04 LTS, mais les commandes sont transposables sur Debian 12.
Acces initial au serveur
Connectez-vous en SSH avec une cle plutot qu'un mot de passe. Si ce n'est pas deja fait, generez une paire de cles sur votre poste :
ssh-keygen -t ed25519 -C "admin-mongodb"
ssh-copy-id root@VOTRE_IP_VPS
ssh root@VOTRE_IP_VPS
Mettez ensuite le systeme a jour avant toute installation :
apt update && apt upgrade -y
apt install -y gnupg curl
Installer MongoDB sur VPS depuis le depot officiel
Pour installer MongoDB sur VPS de facon durable, on utilise le depot officiel MongoDB plutot que les paquets de la distribution, souvent en retard de plusieurs versions. Cela garantit des mises a jour de securite et l'acces aux dernieres fonctionnalites du moteur.
Ajouter la cle GPG et le depot
Importez la cle publique du depot MongoDB, puis declarez la source APT correspondant a votre version d'Ubuntu :
curl -fsSL https://pgp.mongodb.com/server-8.0.asc | \
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" \
| tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Installer le paquet mongodb-org
apt update
apt install -y mongodb-org
Le meta-paquet mongodb-org installe le serveur mongod, les outils shell mongosh et les utilitaires d'import/export. Verifiez la version installee :
mongod --version
mongosh --version
Demarrer et activer le service
MongoDB est gere par systemd. Activez le demarrage automatique et lancez le service :
systemctl enable mongod
systemctl start mongod
systemctl status mongod
Le statut doit afficher active (running). En cas de probleme, consultez les logs :
journalctl -u mongod -n 50 --no-pager
tail -f /var/log/mongodb/mongod.log
Premier test de connexion locale
mongosh
Une fois dans le shell, verifiez que le serveur repond :
db.runCommand({ ping: 1 })
show dbs
A ce stade, MongoDB ecoute uniquement en local sur 127.0.0.1:27017, sans authentification. Ne surtout pas exposer ce port avant d'avoir configure la securite.
Securiser MongoDB : authentification, pare-feu et acces reseau
Une instance MongoDB ouverte sans authentification sur Internet est un risque majeur. De nombreuses fuites de donnees viennent de bases exposees publiquement sans mot de passe. On active donc l'authentification, on restreint l'ecoute reseau et on filtre au niveau pare-feu.
Creer un administrateur
Avant d'activer l'authentification, creez un compte administrateur dans la base admin :
mongosh
use admin
db.createUser({
user: "admin",
pwd: passwordPrompt(),
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
})
exit
Activer l'authentification et l'ecoute reseau
Editez le fichier de configuration /etc/mongod.conf. Deux sections sont importantes : net pour le binding et security pour l'autorisation.
nano /etc/mongod.conf
Configuration recommandee :
net:
port: 27017
bindIp: 127.0.0.1,10.0.0.5 # IP privee du VPS si acces distant necessaire
security:
authorization: enabled
Si votre application tourne sur le meme VPS, gardez uniquement 127.0.0.1. N'ajoutez une IP publique ou privee que si un acces distant est reellement indispensable.
Redemarrez le service pour appliquer :
systemctl restart mongod
Reconnectez-vous desormais avec authentification :
mongosh -u admin -p --authenticationDatabase admin
Filtrer le port avec le pare-feu
Meme avec l'authentification active, filtrez le port 27017. Avec ufw, autorisez uniquement les sources legitimes :
ufw allow OpenSSH
ufw allow from 10.0.0.0/24 to any port 27017 proto tcp
ufw enable
ufw status verbose
Pour un controle plus fin, nftables permet des regles precises par IP source :
nft add rule inet filter input tcp dport 27017 ip saddr 10.0.0.10 accept
nft add rule inet filter input tcp dport 27017 drop
Renforcer l'acces SSH
La surface d'attaque principale reste souvent SSH. Desactivez l'authentification par mot de passe et l'acces root direct dans /etc/ssh/sshd_config :
PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes
systemctl restart ssh
Ajoutez fail2ban pour bloquer les tentatives de force brute :
apt install -y fail2ban
systemctl enable --now fail2ban
fail2ban-client status sshd
Concernant les attaques volumetriques, l'anti-DDoS est deja gere cote infrastructure OmegaCloud de maniere transparente : la mitigation kernel-level filtre les floods reseau avant qu'ils n'atteignent votre mongod. Vous n'avez pas de service supplementaire a installer pour la protection volumetrique. Vous restez toutefois responsable de la securite applicative et de l'authentification de la base.
Chiffrer les connexions avec TLS
Pour un acces distant, chiffrez le trafic entre clients et serveur. Generez un certificat (ou utilisez une CA interne), puis activez TLS dans mongod.conf :
net:
tls:
mode: requireTLS
certificateKeyFile: /etc/ssl/mongodb/mongodb.pem
Cote client, la connexion devient :
mongosh --tls --tlsCertificateKeyFile /etc/ssl/mongodb/client.pem \
--host VOTRE_IP -u admin -p --authenticationDatabase admin
Optimisation, sauvegarde et supervision en production
Une fois MongoDB installe et securise, l'exploitation quotidienne repose sur trois piliers : le tuning systeme, la strategie de sauvegarde et la supervision.
Reglages systeme pour WiredTiger
MongoDB recommande de desactiver les Transparent Huge Pages et d'ajuster les limites systeme. Verifiez d'abord l'etat courant :
cat /sys/kernel/mm/transparent_hugepage/enabled
Ajustez les limites de fichiers ouverts et de processus dans /etc/security/limits.conf pour l'utilisateur mongodb :
mongodb soft nofile 64000
mongodb hard nofile 64000
mongodb soft nproc 32000
mongodb hard nproc 32000
Le cache WiredTiger utilise par defaut environ 50% de la RAM moins 1 Go. Sur un VPS dedie a MongoDB, ce reglage convient generalement. Ajustez-le uniquement si vous cohabitez avec une application gourmande.
Sauvegardes avec mongodump
Pour les petites et moyennes bases, mongodump exporte une copie coherente. Automatisez-le via cron :
mongodump --uri="mongodb://admin:[email protected]:27017/?authSource=admin" \
--out=/var/backups/mongo/$(date +\%F)
Exemple de tache cron quotidienne a 3h avec retention automatique :
0 3 * * * mongodump --uri="mongodb://admin:[email protected]/?authSource=admin" --out=/var/backups/mongo/$(date +\%F) && find /var/backups/mongo -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
Complementez ces exports logiques avec les snapshots du panel OmegaCloud : une image disque coherente du VPS entier permet une restauration rapide en cas d'incident majeur. Combiner dump applicatif et snapshot infrastructure offre deux niveaux de recuperation distincts.
Restauration
mongorestore --uri="mongodb://admin:[email protected]:27017/?authSource=admin" \
/var/backups/mongo/2026-01-15
Supervision de l'instance
Surveillez les metriques cles depuis le shell MongoDB :
db.serverStatus().connections
db.serverStatus().wiredTiger.cache
db.stats()
Cote systeme, le dashboard temps reel du panel OmegaCloud affiche l'usage CPU, RAM, disque SSD SAS et reseau, ce qui permet de correler un pic MongoDB avec la charge de la machine. Vous pouvez aussi declencher des webhooks via les Integrations & API OmegaCloud pour brancher vos propres alertes.
Integration dans un pipeline CI/CD
Pour les environnements de test, une instance MongoDB jetable peut etre provisionnee dans un pipeline. Avec Docker sur votre VPS de build :
docker run -d --name mongo-ci \
-e MONGO_INITDB_ROOT_USERNAME=ci \
-e MONGO_INITDB_ROOT_PASSWORD=ci_pass \
-p 127.0.0.1:27017:27017 mongo:8.0
Ce conteneur reste local a votre machine de test ; en production, privilegiez l'installation native decrite plus haut pour un controle complet du systeme et des ressources.
Bonnes pratiques de replication
Pour la haute disponibilite, MongoDB s'appuie sur les replica sets. Trois noeuds minimum (un primaire, deux secondaires) assurent le basculement automatique. Repartis sur plusieurs VPS dans un datacenter europeen a faible latence intra-datacenter, ils garantissent la continuite de service en cas de panne d'un noeud. Configurez le replica set apres avoir securise chaque instance individuellement.
La documentation officielle detaille les etapes d'initialisation d'un replica set et les subtilites de configuration reseau : Source.
Conclusion
Installer MongoDB sur VPS suit une logique claire : partir d'un OS a jour, utiliser le depot officiel, activer l'authentification, filtrer le reseau puis mettre en place sauvegardes et supervision. Le stockage NVMe et une RAM confortable font la difference sur les charges reelles. Avec ces bases, vous disposez d'une instance stable, securisee et prete a evoluer vers un replica set.
FAQ
Quelle quantite de RAM prevoir pour installer MongoDB sur un VPS ?
Comptez au minimum 4 Go pour du developpement et 8 a 16 Go pour de la production. Le moteur WiredTiger utilise environ la moitie de la RAM disponible pour son cache. Plus votre jeu de donnees actif est volumineux, plus la memoire et un disque NVMe rapide deviennent determinants pour maintenir de bonnes performances de lecture.
Faut-il exposer le port 27017 sur Internet ?
Non, sauf necessite absolue. Gardez le binding sur 127.0.0.1 si l'application est sur le meme VPS. Pour un acces distant, restreignez par IP source avec ufw ou nftables, activez l'authentification et chiffrez les connexions en TLS. Une base exposee sans mot de passe est une cible immediate pour les scanners automatises.
Comment sauvegarder MongoDB sans interrompre le service ?
Utilisez mongodump qui produit un export coherent sans arreter mongod, automatise via cron avec une politique de retention. Pour une protection complementaire, declenchez des snapshots du VPS depuis le panel de gestion : vous obtenez une image disque complete restaurable en un clic, en plus des exports logiques applicatifs.
Prêt à mettre en pratique ce que vous venez de lire ?
Découvrir nos offres

