50 % de réduction sur tous les plans, durée limitée. À partir de $2.48/mo
12 min de lecture
Bases de données et analytique

Comment installer MongoDB sur les trois dernières versions de Ubuntu (guide pas à pas)

Jim Schwarz By Jim Schwarz 12 min de lecture
Logo original de MongoDB présenté sur un serveur futuriste pour illustrer l'installation de MongoDB sur Ubuntu + accroche sur le contenu de l'article + titre de l'article + logo de la marque Cloudzy

Vous avez donc choisi d'utiliser MongoDB, une excellente alternative to MariaDB pour créer une application MERN stack, une plateforme analytique ou tout autre système basé sur des documents, mais vous vous heurtez aux lignes de commande Linux et à une avalanche d'erreurs dans le terminal. 

Pas d'inquiétude : ce guide couvre tout ce que vous devez savoir, de A à Z, pour installer MongoDB sur Ubuntu.

MongoDB utilise X.Y.Z versioning 8.0 est une majeure série de versions, et 8.2 est une mineure version dans ce cycle 8.0. Les versions mineures ajoutent des fonctionnalités au sein du même cycle majeur et, à partir de la 8.0, sont également proposées pour les installations on-prem dans des cas d'usage spécifiques (par exemple, Search et Vector Search). MongoDB 8.0 sur Ubuntu prend en charge 24.04 (Noble), 22.04 (Jammy) et 20.04 (Focal) sur les systèmes 64 bits, avec support ARM64 sur certaines plateformes.

Prérequis GnuPG et Curl

Avant d'installer le paquet officiel mongodb-org , Ubuntu nécessite deux prérequis : GnuPG et Curl. Ces outils autorisent Ubuntu à télécharger MongoDB, car le paquet mongodb intégré à Ubuntu n'est pas maintenu par MongoDB Inc. et entre en conflit avec le paquet officiel mongodb-org . Si vous l'avez déjà installé, mongodb pensez à le désinstaller.

Ensuite, exécutez la commande sudo apt-get install gnupg curl. Curl est un outil de téléchargement de fichiers depuis Internet, nécessaire pour récupérer la clé de sécurité de MongoDB. GnuPG est ce qu'utilise Ubuntu pour vérifier l'authenticité des logiciels. Sans GnuPG, Ubuntu ne peut pas vérifier les paquets MongoDB.

Vérifiez que votre terminal a bien installé GnuPG et Curl. Si c'est le cas, le résultat devrait ressembler à ceci :Sortie du terminal Ubuntu après l'ajout de GnuPG et Curl

Importation de la clé GPG MongoDB

Le gestionnaire de paquets de Ubuntu, APT, utilise des clés GPG pour vérifier les paquets avant leur installation. Sans cette clé GPG, Ubuntu refuse d'ajouter les dépôts de MongoDB. Tapez la commande suivante dans votre terminal pour ajouter la clé :

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
   --dearmor

Si tout se passe bien, votre terminal devrait afficher ceci :Terminal Ubuntu après l'ajout réussi de la clé GPG de MongoDB.

En résumé, cette commande télécharge la signature de sécurité de MongoDB, la convertit dans un format lisible par Ubuntu, puis l'enregistre dans un dossier système sécurisé. Voici le détail de chaque section de la commande :

  1. curl -fsSL URL télécharge la clé officielle de MongoDB
  2. –dearmor convertit la clé du format texte en binaire pour que Ubuntu puisse la lire
  3. -o /usr/share/keyrings/mongodb-server-8.0.gpg enregistre le fichier binaire dans le dossier où Ubuntu stocke les clés de confiance

Si vous suivez chaque commande à la lettre, la clé GPG publique sera ajoutée sans problème. Certains utilisateurs rencontrent cependant des erreurs lors de l'installation de MongoDB à cause d'une clé GPG incompatible. Des erreurs comme :

NO_PUBKEY
The following signatures couldn't be verified
public key not available

apparaissent lorsque vous n'avez pas suivi les commandes GPG exactes indiquées plus haut et que vous avez utilisé à la place sudo apt-key car les versions récentes de Ubuntu ne le recommandent plus.

Ajouter le dépôt MongoDB

Ajouter le dépôt de MongoDB crée un fichier indiquant à Ubuntu que les paquets MongoDB sont disponibles à une adresse internet précise. Créez le fichier de liste à l'emplacement /etc/apt/sources.list.d/mongodb-org-8.0.list en y écrivant la ligne du dépôt via echo … | sudo tee …

C'est là que les choses se compliquent : différentes versions de Ubuntu requièrent une variante différente de cette commande. Nous allons voir comment importer le fichier de liste sur chacune des trois versions de Ubuntu mentionnées plus haut.

Ubuntu 24.04 (Noble)

Pour créer le fichier de liste sur Ubuntu 24.04, entrez simplement 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 dans votre terminal.

Ça peut sembler confus, mais pas de panique. Une fois la commande décomposée en sections, tout deviendra clair.

  1. echo affiche du texte
  2. /etc/apt/sources.list.d est le dossier dans lequel Ubuntu stocke les définitions des sources logicielles. Chaque fichier au format .list dans ce dossier indique à Ubuntu un emplacement précis depuis lequel télécharger des logiciels
  3. Par défaut, un utilisateur normal ne peut rien écrire dans les dossiers système. t-shirt accorde à l'utilisateur les droits nécessaires pour écrire du texte dans les fichiers système, tout en utilisant sudo
  4. noble est le nom de code de Ubuntu 24.04. Chaque version de Ubuntu a un nom de code :
Version Nom de code
20.04 Focal
22.04 Jammy
24.04 Noble

Si vous ne faites pas correspondre votre version de Ubuntu avec la bonne ligne de commande, Ubuntu ne reconnaît pas le dépôt de MongoDB.

Ubuntu 22.04 (Jammy)

L'ajout du fichier de liste à Ubuntu Jammy suit exactement la même procédure, mais vous devez saisir la ligne de commande en remplaçant noble avec jammy, comme ceci :

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Vérifiez bien que cela correspond à votre version de Ubuntu, sinon la commande échouera à nouveau.

Ubuntu 20.04 (Focal)

Suivez les mêmes étapes ici, mais au lieu de noble or jammy, entrez focal:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Maintenant que le dépôt est configuré, vous pouvez passer à l'installation mongodb-org.

Actualiser la base de données des paquets

Maintenant que le dépôt est reconnu par Ubuntu, vous devez recharger la base de données des paquets afin qu'elle inclue également MongoDB. Exécutez la commande suivante :

sudo apt-get update

Cette commande est identique pour toutes les versions de Ubuntu. Si vous l'omettez, Ubuntu ne trouvera pas MongoDB. Une fois la commande exécutée avec succès, votre terminal devrait afficher :Sortie du terminal Ubuntu après l'exécution de sudo apt-get update

 Maintenant que la base de données des paquets est rechargée, il est temps de télécharger les paquets MongoDB.

Installer MongoDB Community Server

Plusieurs versions de MongoDB sont disponibles, mais la plupart des utilisateurs optent pour la dernière version stable. Pour l'installer, exécutez : sudo apt-get install -y mongodb-org

Ubuntu a maintenant téléchargé et installé les paquets MongoDB, créé un compte utilisateur et un répertoire de données pour MongoDB, et l'a enregistré en tant que service système. Voyons maintenant comment le démarrer.

Comment démarrer MongoDB

Pour lancer MongoDB, vous devez indiquer au gestionnaire de services de Ubuntu, "systemd", de le reconnaître comme service en arrière-plan. Pour cela, tapez la commande suivante dans votre terminal :

sudo systemctl start mongod

Si la commande s'exécute correctement, Ubuntu lancera MongoDB en arrière-plan. Dans le cas contraire, vous pourriez recevoir une erreur similaire à Impossible de démarrer mongod.service.

Cela peut être dû à plusieurs problèmes courants :

  • Erreur dans le fichier de configuration in /etc/mongod.conf (les erreurs d'indentation YAML sont fréquentes)
  • Conflit de port (le port 27017 est déjà utilisé)
  • Problème de permissions sur les répertoires de données ou de logs (var/lib/mongodb ou var/log/mongodb)
  • Disque plein or état corrompu du système de fichiers

Trois commandes pour diagnostiquer le problèmeConfiguration de serveur futuriste + trois commandes terminal Ubuntu + cloud avec chemin de mise à niveau.

Il est facile de supposer ce qui pourrait bloquer MongoDB, mais identifier la cause exacte est une autre affaire. Voici trois façons concrètes de repérer l'origine de l'erreur :

  1. Vérifier l'état du service : sudo systemctl status mongod --no-pager
  2. Consulter les journaux détaillés (essentiel) : sudo journalctl -u mongod –no-pager -n 100
  3. Consulter le fichier journal propre à MongoDB

À noter : si votre disque est plein ou que vos fichiers système sont corrompus, le problème relève du matériel, pas du logiciel. Si votre configuration actuelle est trop ancienne, il faudra peut-être investir dans du matériel plus récent pour faire tourner MongoDB correctement. 

Si l'achat d'un serveur dédié n'entre pas dans votre budget, pensez à explorer les offres de Cloudzy Ubuntu VPS pour une expérience propre sur votre propre serveur privé avec la distribution Ubuntu de votre choix. Il est livré avec 24/7 support et jusqu'à 40Gbps de vitesse réseau, grâce à stockage NVMe SSD et DDR5 RAM rapides.

De plus, il offre une latence minimale, 99.95% de disponibilité, et une garantie de remboursement de 14 jours Et ce n'est pas tout : il est également disponible dans 12 emplacements à travers le monde, à un tarif accessible.

Trois correctifs courants pour faire fonctionner MongoDB

Il n'existe pas de méthode universelle pour identifier précisément le problème de votre système avec MongoDB et le résoudre en une seule étape. Voici donc quelques correctifs courants qui peuvent vous aider à remettre MongoDB en marche.

  1. Erreur d'indentation dans le fichier de configuration YAML. Si vous avez modifié /etc/mongod.conf vérifiez l'indentation en ouvrant sudo nano /etc/mongod.conf. Le fichier YAML est particulièrement sensible aux espaces : assurez-vous de n'utiliser que deux espaces par niveau dans /etc/mongod.conf.
  2. Port 27017 occupé. Si un autre processus utilise le port 27017, arrêtez-le ou modifiez le port de MongoDB dans mongod.conf. Si vous n'êtes pas sûr de ce qui tourne sur le port 27017, vous pouvez exécuter sudo ss -lntp | grep 27017 pour vérifier
  3. Problème de permissions sur le répertoire de données. Il arrive que MongoDB ne dispose pas des permissions nécessaires pour s'exécuter sur votre système et ne démarre donc pas du tout. Commencez par exécuter sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, puis redémarrez MongoDB avec sudo systemctl restart mongod

D'après Site officiel de MongoDB, une autre façon de contourner ce problème est de recharger le daemon avec sudo systemctl daemon-reload, puis d'exécuter la première commande, sudo systemctl start mongod, à nouveau.

S'il n'y a pas de mongod.service, c'est que l'installation n'a pas créé l'unité systemd. Réinstallez le paquet mongodb-org en question.

Cela dit, vous pouvez vérifier si MongoDB a bien démarré avec sudo systemctl status mongod. Si le terminal affiche actif (en cours d'exécution), tout est en ordre. Il reste toutefois quelques configurations supplémentaires qui rendront votre expérience bien plus fluide.

Automatiser MongoDBConfiguration serveur futuriste avec symbole d'automatisation MongoDB + terminal avec commande MongoDB + fichier de log

MongoDB ne s'ouvre pas automatiquement à chaque démarrage du serveur ; vous devrez répéter certaines étapes à chaque fois. Vous pouvez cependant configurer Ubuntu pour lancer MongoDB au démarrage du bureau.

Exécutez simplement sudo systemctl enable mongod dans votre terminal. À partir de maintenant, votre système lancera MongoDB après chaque redémarrage. Vous pouvez également redémarrer le processus mongod avec la commande sudo systemctl restart mongod. Par ailleurs, pour suivre les erreurs ou les messages importants, consultez la sortie dans le fichier :

/var/log/mongodb/mongod.log

Maintenant que tout est en place, commençons à utiliser mongod.

Ouvrir le shell MongoDB

Pour interagir avec leur base de données, les utilisateurs doivent ouvrir un shell MongoDB avec la commande mongosh. Considérez-le comme un terminal dédié à MongoDB, ou comme une console MySQL. Vous pouvez aussi interagir avec MongoDB via des outils graphiques, comme les drivers MongoDB. Mais si vous préférez rester dans le terminal, mongosh est fait pour ça.

Votre MongoDB sera désormais pleinement opérationnel, mais quelques étapes supplémentaires sont nécessaires pour le sécuriser.

Activer l'authentification MongoDBProcessus d'authentification MongoDB + symbole de cadenas + confirmation d'authentification.

Par défaut, MongoDB n'est pas protégé par un mot de passe, car vous devez déjà avoir accès au système pour créer un utilisateur. Voici comment procéder

Créer un utilisateur administrateur

Commencez par basculer vers la base de données admin avec :

use admin

Créez ensuite un utilisateur avec db.createUser({…}). Renseignez votre

  • Nom d'utilisateur
  • Mot de passe
  • Rôle

Pour le rôle, tapez de préférence root ce qui signifie un contrôle total ou administrateur.

Activer l'authentification

Maintenant que notre utilisateur est configuré, nous devons modifier le /etc/mongod.conf fichier. C'est ce fichier qui contrôle le comportement de MongoDB. Gardez à l'esprit qu'après toute modification de ce fichier, vous devez redémarrer le mongod service avec sudo systemctl restart mongod. Le paramètre à modifier ici s'appelle authorization et se présente ainsi :

security:

  authorization:

Pour finaliser l'authentification, modifiez simplement la valeur authorization comme ceci :

security:

  authorization: enabled

Désormais, MongoDB exige une connexion : votre authentification est en place. Passons maintenant à une autre configuration qui tire pleinement parti de MongoDB.

Ouvrir le pare-feu

Comme mentionné précédemment, MongoDB s'exécute sur le port 27017. Les pare-feux bloquent les ports par défaut, vous devez donc autoriser les applications à utiliser le port 27017. Pour ce faire, exécutez simplement la commande :

ufw allow from YOUR_IP to any port 27017

Vous pouvez également exécuter la commande ufw allow 27017, mais soyez prudent : cette commande autorise l'ensemble d'internet à accéder à ce port. La première option est généralement plus sûre, car elle limite l'accès au port à votre seule adresse IP.

Certains utilisateurs peuvent rencontrer des difficultés avec MongoDB, notamment des problèmes d'accès à distance. Lisez la suite pour savoir comment les résoudre.

Problème d'accès à distanceConfiguration d'un serveur avec 3 écrans pour les paramètres d'accès à distance de MongoDB et des commandes terminal.

MongoDB démarre avec bindIp. bindIp limite MongoDB à 127.0.0.1, en n'autorisant que les connexions locales. Ainsi, si vous tentez de vous connecter à votre serveur MongoDB depuis un autre emplacement, l'accès vous sera refusé : MongoDB est configuré par défaut pour n'accepter que les connexions locales, sauf configuration contraire.

Retournez dans /etc/mongod.conf, et vous verrez trois lignes comme ceci :

net:

  port: 27017

  bindIp: 127.0.0.1

Si vous souhaitez autoriser les connexions à distance vers votre mongod utilisateur, modifiez les valeurs présentées ci-dessus comme suit :

net:

  port: 27017

  bindIp: 0.0.0.0

Ensuite, redémarrez votre mongod service avec sudo systemctl restart mongod comme pour toute autre modification apportée au fichier.

Vous avez maintenant accordé à votre mongod service la permission d'accepter les connexions distantes. Attention toutefois : en procédant ainsi, vous exposez votre base de données à l'ensemble d'internet si vous n'avez pas encore authentifié votre mongod utilisateur. De nombreux bots analysent en permanence les ports MongoDB ouverts, alors assurez-vous toujours que votre utilisateur mongod dispose d'un mot de passe.

Récapitulatif général

Félicitations, vous avez maintenant effectué toutes les étapes pour créer un service MongoDB optimisé pour votre système Ubuntu. Voici également une carte mentale pour suivre chaque étape présentée dans cet article.

Commande Ce que ça fait
mise à jour apt Actualiser la liste des paquets
apt installer Installer un paquet
curl Télécharger un fichier
gpg Gérer les clés de chiffrement
echo Afficher du texte
t-shirt Écrire dans un fichier protégé
systemctl start Démarrer le service
systemctl enable Activer au démarrage
statut systemctl Vérifier le service
mongosh Accéder au shell MongoDB
Modifier /etc/mongod.conf Activer l'authentification
ufw Gérer le pare-feu
bindIp Autoriser l'accès distant

Cela devrait vous aider à mieux comprendre l'ensemble du processus. Mais si configurer MongoDB par vous-même vous semble trop complexe, pensez à démarrer le MongoDB VPS de Cloudzy pour votre propre serveur Ubuntu 24.04 LTS privé avec MongoDB préinstallé.

Il est livré avec une 99.95% uptime, 24/7 support, et un 14 jours garantie de remboursement. Par ailleurs, il supporte jusqu'à 40 Gbps de bande passante grâce à son DDR5 RAM et stockage NVMe SSD stockage. Et peu importe où vous vous trouvez, il est disponible dans 12 emplacements à travers le monde à un prix abordable.

Cela dit, vous avez finalement réussi à mettre en place votre propre service MongoDB, entièrement configuré pour supporter des charges de travail et des activités en production.

Partager

À lire sur le blog

Continuez la lecture.

Gestion intelligente des données pour votre entreprise : stratégies de stockage et de sauvegarde « façon cloud » avec VPS
Bases de données et analytique

Gestion intelligente des données pour votre entreprise : stratégies de stockage et de sauvegarde « façon cloud » avec VPS

Utiliser VPS pour sécuriser les données d'entreprise, c'est la stratégie que je recommande dès qu'une société décide d'arrêter de jongler entre fichiers sur portables, pièces jointes par e-mail et dossiers à moitié oubliés

Rexa CyrusRexa Cyrus 7 min de lecture
Vue matérialisée vs. vue
Bases de données et analytique

Vue matérialisée vs. vue : comprendre leur rôle dans les bases de données

Dans les systèmes de bases de données, une vue matérialisée est un objet qui stocke les résultats précalculés d'une requête sous forme de table physique. Les données étant réellement écrites sur disque, les requêtes complexes

Ivy JohnsonIvy Johnson 7 min de lecture
Snowflake vs Databricks
Bases de données et analytique

Databricks vs Snowflake : comparaison objective pour les professionnels de la donnée 🧱❄️

Pour les entreprises qui s'appuient sur les données pour prendre des décisions — qu'il s'agisse de plateformes e-commerce qui analysent le comportement des clients, d'institutions financières qui anticipent les tendances, ou d'entreprises tech

Allan Van KirkAllan Van Kirk 13 min de lecture

Prêt à déployer ? À partir de 2,48 $/mois.

Cloud indépendant, depuis 2008. AMD EPYC, NVMe, 40 Gbps. Remboursement sous 14 jours.