installer MongoDB sur VPS··8 min de lecture·Par l'équipe OmegaCloud

Installer MongoDB sur un VPS Linux : le tutoriel complet

Illustration immersive du sujet : installer MongoDB sur VPS

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.

UsagevCPURAMStockage
Developpement / test24 Go40 Go NVMe
Petite production48 Go80 Go SSD SAS
Production intensive8+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

Articles liés

Prêt à vous lancer ?

à partir de 6,99 € HT/mois

Découvrir nos offres

Hébergements

Navigation