Vous avez donc décidé d'utiliser MongoDB, un excellent alternative to MariaDB pour créer une application de pile MERN, une plate-forme d'analyse ou tout autre système basé sur des documents, mais nous nous sommes heurtés à un mur avec les bonnes vieilles lignes de commande Linux et d'innombrables erreurs de terminal.
Pas de souci cependant, car ce guide fournit tout ce que vous devez savoir de A à Z pour installer MongoDB sur Ubuntu.
MongoDB utilise X.Y.Z versionnement. 8.0 est un majeur série de versions, et 8.2 est un 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 version 8.0, sont également proposées pour des installations sur site pour des cas d'utilisation spécifiques (par exemple, recherche et recherche de vecteurs). 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 prise en charge ARM64 sur certaines plates-formes.
Conditions préalables à GnuPG et Curl
Avant d'installer le logiciel officiel mongodb-org package, Ubuntu nécessite deux prérequis : GnuPG et Boucle. Ces outils autorisent Ubuntu à télécharger MongoDB, car celui d'Ubuntu mongodb Le package n'est pas maintenu par MongoDB Inc. et est en conflit avec le package officiel mongodb-org emballer. Si vous avez déjà installé mongodb assurez-vous de le désinstaller.
Ensuite, exécutez la commande sudo apt-get install gnupg curl. Curl est un outil permettant de télécharger des fichiers depuis Internet et est nécessaire pour récupérer la clé de sécurité de MongoDB. GnuPG est ce qu'Ubuntu utilise pour vérifier l'authenticité des logiciels. Si GnuPG est manquant, Ubuntu ne parvient pas à vérifier les packages MongoDB.
Assurez-vous que votre terminal a installé avec succès GnuPG et Curl. Si c'est le cas, cela devrait ressembler à ceci :
Importation de la clé GPG MongoDB
Le gestionnaire de packages d'Ubuntu, APT, utilise les clés GPG pour vérifier les packages avant l'installation. Sans cette clé GPG, Ubuntu n'autorise pas l'ajout des référentiels 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 cela fonctionne, la sortie de votre terminal devrait ressembler à ceci :
Pour faire simple, cette commande télécharge la signature de sécurité de MongoDB, la convertit dans un format qu'Ubuntu peut lire et l'enregistre dans un dossier système sécurisé. Voici une répartition de la ligne de commande section par section :
- curl -fsSL URL télécharge la clé officielle de MongoDB
- –cher honneur convertit la clé du format texte en binaire pour qu'Ubuntu puisse la comprendre
- -o /usr/share/keyrings/mongodb-server-8.0.gpg enregistre le fichier binaire dans un dossier où Ubuntu stocke les clés de confiance
Si vous faites correspondre parfaitement chaque ligne de commande, la clé publique GPG sera ajoutée sans aucun problème. Certains utilisateurs rencontrent cependant des problèmes lors du téléchargement de MongoDB en raison d'une clé GPG incompatible. Des erreurs telles que :
NO_PUBKEY
The following signatures couldn't be verified
public key not available
Cela se produit lorsque vous ne suivez pas les commandes clés GPG exactes plus tôt et que vous utilisez à la place sudo apt-clé parce qu'Ubuntu moderne ne le recommande pas.
Ajouter un référentiel MongoDB
L'ajout du référentiel MongoDB crée un fichier indiquant à Ubuntu que les packages MongoDB sont actifs à une adresse Internet spécifique. Créez le fichier de liste à /etc/apt/sources.list.d/mongodb-org-8.0.list en y écrivant la ligne du référentiel en utilisant écho… | sudo tee…
C'est là que cela devient délicat, puisque différentes versions d'Ubuntu exigent une variante différente de cette commande. Nous allons maintenant examiner comment importer le fichier liste sur les trois versions d'Ubuntu mentionnées précédemment.
Ubuntu 24.04 (Noble)
Afin de créer le fichier de liste sur Ubuntu 24.04, mettez simplement echo « deb [ arch=amd64,arm64 signé-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 sur votre terminal.
Cela peut paraître déroutant, mais ne vous inquiétez pas. Une fois que nous aurons divisé la commande en sections, tout sera parfaitement clair.
- écho imprime le texte
- /etc/apt/sources.list.d est le dossier dans lequel Ubuntu stocke les définitions des sources logicielles. Chaque fichier avec .liste Le format à l'intérieur du dossier pointe Ubuntu vers un emplacement spécifique pour télécharger le logiciel à partir de
- Par défaut, vous ne pouvez rien écrire dans les dossiers système en tant qu'utilisateur normal. tee donne à l'utilisateur une autorisation spéciale pour écrire du texte dans les fichiers système, tout en utilisant sudo
- noble est le nom de code d'Ubuntu 24.04. Chaque version d'Ubuntu a un nom de code tel que :
| Version | Nom de code |
| 20.04 | Focal |
| 22.04 | Jammy |
| 24.04 | Noble |
Si vous ne faites pas correspondre votre version d'Ubuntu avec la bonne ligne de commande, Ubuntu ne reconnaît pas le référentiel MongoDB.
Ubuntu 22.04 (Jammy)
L'ajout du fichier de liste à Ubuntu Jammy a la même apparence, mais vous devez entrer la ligne de commande lors du remplacement noble avec confiture, comme ça:
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
Assurez-vous que c'est celui qui correspond à votre version d'Ubuntu, sinon il échouera à nouveau.
Ubuntu 20.04 (Focale)
Suivez les mêmes étapes ici, mais au lieu de noble or confiture, mettre dedans focal:
echo « deb [ arch=amd64,arm64 signé-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 référentiel est configuré, vous pouvez procéder à l'installation mongodb-org.
Actualiser la base de données des packages
Maintenant que le référentiel est reconnu par Ubuntu, vous devez recharger la base de données des packages qu'il contient, donc à partir de maintenant, il inclut également MongoDB. Exécutez la commande mentionnée ci-dessous :
sudo apt-get update
Cette commande reste la même dans chaque version d'Ubuntu, et si elle est ignorée, Ubuntu n'inclura pas MongoDB. Si la commande fait son travail, la sortie de votre terminal devrait être :
Maintenant, après avoir rechargé votre base de données de packages, il est temps de télécharger les packages MongoDB.
Installer le serveur communautaire MongoDB
Il existe différentes versions de MongoDB à installer, mais les utilisateurs ont tendance à opter pour la dernière version stable car elle est préférable. Pour installer la dernière version stable, exécutez sudo apt-get install -y mongodb-org
Ubuntu a maintenant téléchargé les packages MongoDB, les a installés, a créé un compte utilisateur MongoDB et un répertoire de données, et a enregistré MongoDB en tant que service système. À présent, nous avons expliqué comment télécharger MongoDB sur Ubuntu. Maintenant, commençons.
Comment démarrer MongoDB
Maintenant, pour exécuter MongoDB, nous devons dire au gestionnaire de services d'Ubuntu, « systemd », de reconnaître MongoDB comme service d'arrière-plan, et pour ce faire, vous devez taper la commande suivante dans votre terminal :
sudo systemctl start mongod
Si la commande fait son travail, Ubuntu ouvrira désormais MongoDB en application d'arrière-plan. Toutefois, si la commande ne fait pas son travail, vous pourriez recevoir une erreur similaire à Échec du démarrage de mongod.service.
Cela peut se produire en raison de plusieurs problèmes courants :
- Erreur du fichier de configuration in /etc/mongod.conf (Les erreurs d'indentation YAML sont courantes)
- Conflit portuaire (le port 27017 est déjà occupé)
- Problème d'autorisation sur les répertoires de données ou de journaux (var/lib/mongodb ou var/log/mongodb)
- Disque plein or état du système de fichiers corrompu
Trois commandes pour diagnostiquer le problème
Il est facile de dire ce qui ne va pas avec votre configuration et que MongoDB ne fonctionne pas, mais il est beaucoup plus difficile d'en identifier la cause exacte. Il existe trois façons simples de diagnostiquer l'origine de l'erreur :
- Vérifier l'état du service : sudo systemctl status mongod – pas de pager
- Vérifiez les journaux détaillés (le plus important) : sudo journalctl -u mongod –no-pager -n 100
- Vérifiez le propre fichier journal de MongoDB
Mais veuillez noter que si votre disque est plein ou si les fichiers système sont corrompus, la réparation concernera davantage votre matériel que votre logiciel. Les utilisateurs devront peut-être acheter un meilleur équipement pour la configuration de leur serveur afin d'exécuter MongoDB efficacement si leur configuration actuelle est obsolète.
Si l'achat d'un serveur complet ne fait pas partie de votre budget, pensez à consulter celui de Cloudzy. VPN Ubuntu pour une expérience propre sur votre propre serveur privé avec une distribution Ubuntu de votre choix. Il vient avec 24/7 soutien et jusqu'à 40Gbps vitesse du réseau, grâce à sa SSD NVMe et RAM DDR5 stockage.
De plus, il a une latence minimale, 99.95% disponibilité et un 14 jours garantie de remboursement. Non seulement cela, mais il est également disponible dans 12 emplacements partout dans le monde à un prix abordable.
Trois correctifs les plus courants pour faire fonctionner MongoDB
Il n'existe aucun moyen absolu de reconnaître le problème exact de votre système avec MongoDB et de le résoudre en une seule étape simple. Voici donc quelques correctifs courants que vous pouvez utiliser pour, espérons-le, faire démarrer votre MongoDB.
- Erreur d'indentation de configuration YAML. Supposons que vous ayez modifié /etc/mongod.conf revérifiez l'indentation en demandant sudo nano /etc/mongod.conf. Le fichier YAML est assez sensible aux espaces, alors assurez-vous qu'il n'y a que deux espaces par niveau dans /etc/mongod.conf.
- Port occupé 27017. Si quelque chose d'autre utilise le port 27017, arrêtez-le ou modifiez le port de MongoDB dans mongod.conf. Si vous n'êtes pas sûr de quelque chose qui fonctionne sur le port 27017, n'hésitez pas à exécuter sudo ss -lntp | grep 27017 pour le vérifier
- Problème d'autorisation dans le répertoire de données. Parfois, MongoDB n’a pas l’autorisation de s’exécuter sur votre système et ne s’exécute donc pas du tout. Première course sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, puis redémarrez MongoDB avec sudo systemctl redémarrer mongod
Selon Site officiel de MongoDB, une autre façon de contourner ce problème est de recharger le démon avec sudo systemctl démon-reload, et exécutez la première commande, sudo systemctl démarrer mongod, encore.
S'il n'y a pas mongod.service, l'installation n'a pas placé l'unité systemd, alors réinstallez le mongodb-org ensemble de paquets.
Cela dit, vous pouvez alors vérifier si MongoDB a démarré avec succès avec sudo systemctl statut mongod. Si le terminal dit actif (en cours d'exécution), tu es prêt à partir. Mais il existe encore d'autres configurations qui rendent votre expérience beaucoup plus fluide.
Rendre MongoDB automatisé
MongoDB ne s'ouvre pas automatiquement à chaque fois que vous allumez votre serveur ; vous devrez répéter certaines des étapes mentionnées à chaque fois. En option, vous pouvez demander à Ubuntu de démarrer MongoDB après avoir démarré sur votre bureau.
Exécutez simplement sudo systemctl activer mongod sur votre terminal, qui, désormais, dira à votre système d'exécuter MongoDB après chaque redémarrage. De plus, vous pouvez redémarrer le mongod processus en émettant la commande sudo systemctl redémarrer mongod. De plus, les utilisateurs devront peut-être suivre le processus pour toute erreur ou message important en examinant le résultat dans le fichier :
/var/log/mongodb/mongod.log
Maintenant que tout est configuré, commençons à utiliser votre mongod.
Ouverture du shell MongoDB
Pour interagir avec leur base de données, les utilisateurs doivent ouvrir un shell MongoDB en exécutant la commande mongosh. Considérez-le comme un terminal d'invite de commande dédié pour MongoDB ou une console MySQL. Alternativement, vous pouvez interagir avec MongoDB avec des outils GUI, tels que les pilotes MongoDB. Mais si vous souhaitez interagir avec lui depuis le terminal, mongosh est fait pour que cela se produise.
Votre MongoDB sera désormais entièrement fonctionnel, mais vous devez prendre en compte quelques étapes supplémentaires pour le sécuriser.
Rendre MongoDB authentifié
MongoDB, par défaut, n'a pas de protection par mot de passe car vous devez déjà y avoir accès pour créer un utilisateur. Voici un moyen simple d’y parvenir
Créer un utilisateur administrateur
Tout d'abord, vous devez basculer vers la base de données admin avec :
use admin
Créez ensuite un utilisateur avec db.createUser({…}). Remplissez-le avec votre
- Nom d'utilisateur
- Mot de passe
- Rôle
Pour le rôle, tapez de préférence racine ce qui signifie un contrôle total ou un administrateur.
Activer l'authentification
Maintenant que nous avons notre propre configuration utilisateur, nous devons modifier le /etc/mongod.conf déposer. C'est parce que ce fichier contrôle le comportement de MongoDB. Mais gardez à l'esprit qu'en éditant le fichier, vous devez toujours redémarrer le mongod service ensuite avec sudo systemctl redémarrer mongod. Ce que nous devons modifier ici, c'est un paramètre appelé autorisation qui ressemble à ceci :
security:
authorization:
Pour terminer le processus d'authentification, modifiez simplement la valeur d'autorisation comme ceci :
security:
authorization: enabled
Désormais, MongoDB nécessite un login, votre authentification est donc finalisée. Passons maintenant à une autre configuration qui utilise pleinement MongoDB.
Ouvrez votre pare-feu
Comme mentionné précédemment, MongoDB s'exécute sur le port 27017. Étant donné que les pare-feu bloquent les ports par défaut, vous devez indiquer à votre pare-feu d'autoriser les applications à s'exécuter sur le port 27017. Pour ce faire, exécutez simplement la commande :
ufw allow from YOUR_IP to any port 27017
Alternativement, vous pouvez également émettre la commande ufw autorise 27017, mais soyez prudent, car l'exécuter permettra à l'ensemble d'Internet d'accéder à ce port. Il serait peut-être plus sûr d’opter pour la première option, car elle permet au trafic d’accéder au port uniquement à partir de votre adresse IP.
Les utilisateurs peuvent toujours être confrontés à des difficultés lors de l'exécution de MongoDB, comme le problème d'accès à distance. Restez dans les parages pour savoir comment y remédier.
Problème d'accès à distance
MongoDB se lance avec liaisonIp. liaisonIp limite MongoDB à 127.0.0.1, autorisant uniquement les connexions locales. Par conséquent, si vous deviez vous connecter à votre serveur MongoDB depuis un autre endroit, vous ne seriez pas autorisé à y accéder, car MongoDB est configuré par défaut pour autoriser uniquement les connexions sur site, sauf configuration contraire.
Encore une fois, dirigez-vous vers /etc/mongod.conf, et vous verrez trois lignes comme celle-ci :
net:
port: 27017
bindIp: 127.0.0.1
Si vous souhaitez autoriser les connexions à distance à votre mongod utilisateur, modifiez les valeurs présentées ci-dessus comme ceci :
net:
port: 27017
bindIp: 0.0.0.0
Ensuite, redémarrez votre mongod service avec sudo systemctl redémarrer mongod comme pour toutes les autres modifications que vous effectuez sur le fichier.
Vous avez maintenant accordé votre mongod autorisation du service pour accepter les connexions à distance. Mais attention, car en faisant cela, vous exposerez votre base de données à l'ensemble d'Internet si vous n'avez pas encore authentifié votre compte. mongod utilisateur. De nombreux robots recherchent constamment les ports MongoDB ouverts, alors assurez-vous toujours que votre utilisateur Mongod dispose d'un mot de passe.
Résumé d’ensemble
Félicitations, vous avez maintenant tout fait 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 qu'il fait |
| mise à jour appropriée | Actualiser la liste des logiciels |
| installation appropriée | Installer le logiciel |
| boucle | Télécharger le fichier |
| gpg | Gérer les clés de chiffrement |
| écho | Imprimer le texte |
| tee | Écrire dans un fichier protégé |
| démarrage du systèmectl | Démarrer le service |
| activation du systèmectl | Démarrer au démarrage |
| statut systemctl | Vérifier le service |
| mongosh | Entrez le shell MongoDB |
| Modifier /etc/mongod.conf | Activer l'authentification |
| ouf | Gérer le pare-feu |
| liaisonIp | Autoriser l'accès à distance |
Cela devrait vous aider à mieux comprendre l’ensemble du processus. Mais si configurer MongoDB par vous-même est trop difficile pour vous, assurez-vous de lancer Cloudzy's VPS MongoDB pour votre propre serveur Ubuntu 24.04 LTS privé avec MongoDB préinstallé.
Il vient avec 99.95% disponibilité, 24/7 un soutien et un 14 jours garantie de remboursement. En dehors de cela, il prend en charge jusqu'à 40 Gbps de bande passante grâce à son RAM DDR5 et SSD NVMe stockage. Ne vous souciez même pas de votre lieu de résidence, car il est également disponible en 12 emplacements à travers le monde à un prix abordable.
Mais cela dit, vous avez enfin réussi à configurer votre propre service MongoDB, équipé de toutes les configurations nécessaires pour prendre en charge les charges de travail et les entreprises au niveau de la production.