Sie haben sich also für MongoDB entschieden, eine großartige Lösung alternative to MariaDB zum Erstellen einer MERN-Stack-App, einer Analyseplattform oder eines beliebigen dokumentbasierten Systems, sind aber mit den guten alten Linux-Befehlszeilen und unzähligen Terminalfehlern an eine Wand gestoßen.
Aber keine Sorge, denn diese Anleitung bietet von A bis Z alles, was Sie wissen müssen, um MongoDB unter Ubuntu zu installieren.
MongoDB verwendet X.Y.Z Versionierung. 8.0 ist ein wesentlich Veröffentlichungsserie und 8.2 ist ein unerheblich Veröffentlichung innerhalb dieses 8.0-Zyklus. Nebenversionen fügen Funktionen innerhalb desselben Hauptzyklus hinzu und werden ab 8.0 auch für lokale Installationen für bestimmte Anwendungsfälle angeboten (z. B. Suche und Vektorsuche). MongoDB 8.0 unter Ubuntu unterstützt 24.04 (Noble), 22.04 (Jammy) und 20.04 (Focal) auf 64-Bit-Systemen, mit ARM64-Unterstützung auf ausgewählten Plattformen.
GnuPG- und Curl-Voraussetzungen
Vor der Installation des Beamten mongodb-org Paket benötigt Ubuntu zwei Voraussetzungen: GnuPG Und Locken. Diese Tools geben Ubuntu die Berechtigung, MongoDB herunterzuladen, da es Ubuntus eigenes Tool ist mongodb Das Paket wird nicht von MongoDB Inc. verwaltet und steht im Konflikt mit dem offiziellen mongodb-org Paket. Wenn Sie bereits installiert haben mongodb Stellen Sie sicher, dass Sie es deinstallieren.
Führen Sie als Nächstes den Befehl aus sudo apt-get install gnupg curl. Curl ist ein Tool zum Herunterladen von Dateien aus dem Internet und wird benötigt, um den Sicherheitsschlüssel von MongoDB abzurufen. GnuPG wird von Ubuntu verwendet, um die Authentizität von Software zu überprüfen. Wenn GnuPG fehlt, kann Ubuntu die MongoDB-Pakete nicht überprüfen.
Stellen Sie sicher, dass Ihr Terminal GnuPG und Curl erfolgreich installiert hat. Wenn ja, sollte es so aussehen:
Importieren des MongoDB-GPG-Schlüssels
Der Paketmanager von Ubuntu, APT, verwendet GPG-Schlüssel, um Pakete vor der Installation zu überprüfen. Ohne diesen GPG-Schlüssel lässt Ubuntu das Hinzufügen der MongoDB-Repositorys nicht zu. Geben Sie den folgenden Befehl in Ihr Terminal ein, um den Schlüssel hinzuzufügen:
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
Wenn es funktioniert, sollte Ihre Terminalausgabe so aussehen:
Vereinfacht ausgedrückt lädt dieser Befehl die Sicherheitssignatur von MongoDB herunter, konvertiert sie in ein Format, das Ubuntu lesen kann, und speichert sie in einem sicheren Systemordner. Hier ist eine abschnittsweise Aufschlüsselung der Befehlszeile:
- curl -fsSL URL lädt den offiziellen Schlüssel von MongoDB herunter
- –Lieber Konvertiert den Schlüssel vom Textformat in ein Binärformat, damit Ubuntu ihn verstehen kann
- -o /usr/share/keyrings/mongodb-server-8.0.gpg speichert die Binärdatei in einem Ordner, in dem Ubuntu vertrauenswürdige Schlüssel speichert
Wenn Sie jede Befehlszeile perfekt anpassen, wird der öffentliche GPG-Schlüssel ohne Probleme hinzugefügt. Einige Benutzer stoßen jedoch beim Herunterladen von MongoDB auf Probleme aufgrund eines nicht übereinstimmenden GPG-Schlüssels. Fehler wie:
NO_PUBKEY
The following signatures couldn't be verified
public key not available
Passiert, wenn Sie die genauen GPG-Tastenbefehle nicht früher befolgen und stattdessen verwenden Sudo apt-key weil modernes Ubuntu es nicht empfiehlt.
MongoDB-Repository hinzufügen
Durch das Hinzufügen des MongoDB-Repositorys wird eine Datei erstellt, die Ubuntu mitteilt, dass MongoDB-Pakete unter einer bestimmten Internetadresse verfügbar sind. Erstellen Sie die Listendatei unter /etc/apt/sources.list.d/mongodb-org-8.0.list indem Sie die Repository-Zeile mit hineinschreiben Echo … | sudo tee …
Hier wird es knifflig, da verschiedene Versionen von Ubuntu eine unterschiedliche Variante dieses Befehls erfordern. Wir werden nun untersuchen, wie die Listendatei in die drei zuvor erwähnten Versionen von Ubuntu importiert wird.
Ubuntu 24.04 (Noble)
Um die Listendatei unter Ubuntu 24.04 zu erstellen, einfach eingeben echo „deb [ arch=amd64,arm64 signiert von=/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 auf Ihrem Terminal.
Das sieht vielleicht verwirrend aus, aber machen Sie sich keine Sorgen. Sobald wir den Befehl in Abschnitte unterteilen, ist er glasklar.
- Echo druckt Text
- /etc/apt/sources.list.d ist der Ordner, in dem Ubuntu Softwarequellendefinitionen speichert. Jede Datei mit .Liste Das Format im Ordner weist Ubuntu auf einen bestimmten Speicherort hin, von dem Software heruntergeladen werden kann
- Als normaler Benutzer können Sie standardmäßig nichts in Systemordner schreiben. T-Stück Gibt dem Benutzer die besondere Berechtigung, während der Verwendung Text in Systemdateien zu schreiben Sudo
- edel ist der Codename für Ubuntu 24.04. Jede Ubuntu-Version hat einen Codenamen wie:
| Version | Codename |
| 20.04 | Im Mittelpunkt |
| 22.04 | Jammy |
| 24.04 | Edel |
Wenn Sie Ihre Ubuntu-Version nicht mit der richtigen Befehlszeile abgleichen, erkennt Ubuntu das MongoDB-Repository nicht.
Ubuntu 22.04 (Jammy)
Das Hinzufügen der Listendatei zu Ubuntu Jammy sieht genauso aus, Sie müssen beim Ersetzen jedoch die Befehlszeile eingeben edel mit jammy, so was:
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
Stellen Sie sicher, dass es sich um die Version handelt, die zu Ihrer Ubuntu-Version passt, sonst schlägt der Vorgang erneut fehl.
Ubuntu 20.04 (Fokus)
Befolgen Sie hier die gleichen Schritte, aber stattdessen edel or jammy, einlegen Schwerpunkt:
echo „deb [ arch=amd64,arm64 signiert von=/usr/share/keyrings/mongodb-server-8.0.gpg] https://repo.mongodb.org/apt/ubuntu focus/mongodb-org/8.0 multiverse“ | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Nachdem das Repository nun eingerichtet ist, können Sie mit der Installation fortfahren mongodb-org.
Aktualisieren Sie die Paketdatenbank
Da das Repository nun von Ubuntu erkannt wird, müssen Sie die darin enthaltene Paketdatenbank neu laden, sodass es von nun an auch MongoDB enthält. Geben Sie den unten genannten Befehl aus:
sudo apt-get update
Dieser Befehl bleibt in allen Ubuntu-Versionen gleich, und wenn er übersprungen wird, bindet Ubuntu MongoDB nicht ein. Wenn der Befehl seine Aufgabe erfüllt, sollte Ihre Terminalausgabe wie folgt aussehen:
Nachdem Sie Ihre Paketdatenbank neu geladen haben, ist es nun an der Zeit, MongoDB-Pakete herunterzuladen.
Installieren Sie den MongoDB Community Server
Es müssen verschiedene MongoDB-Versionen installiert werden, Benutzer neigen jedoch dazu, die neueste stabile Version zu verwenden, da diese vorzuziehen ist. Um die neueste stabile Version zu installieren, führen Sie Folgendes aus: sudo apt-get install -y mongodb-org
Ubuntu hat nun die MongoDB-Pakete heruntergeladen, installiert, ein MongoDB-Benutzerkonto und ein Datenverzeichnis erstellt und MongoDB als Systemdienst registriert. Mittlerweile haben wir behandelt, wie man MongoDB unter Ubuntu herunterlädt. Jetzt fangen wir an.
So starten Sie MongoDB
Um nun MongoDB auszuführen, müssen wir Ubuntus Dienstmanager „systemd“ anweisen, MongoDB als Hintergrunddienst zu erkennen, und dazu müssen Sie den folgenden Befehl in Ihr Terminal eingeben:
sudo systemctl start mongod
Wenn der Befehl seine Aufgabe erfüllt, öffnet Ubuntu nun MongoDB als Hintergrundanwendung. Wenn der Befehl jedoch seine Aufgabe nicht erfüllt, erhalten Sie möglicherweise eine Fehlermeldung ähnlich der folgenden mongod.service konnte nicht gestartet werden.
Dies kann auf mehrere häufige Probleme zurückzuführen sein:
- Fehler in der Konfigurationsdatei in /etc/mongod.conf (YAML-Einrückungsfehler sind häufig)
- Hafenkonflikt (Port 27017 ist bereits belegt)
- Berechtigungsproblem auf Daten- oder Protokollverzeichnissen (var/lib/mongodb oder var/log/mongodb)
- Festplatte voll or Beschädigter Zustand des Dateisystems
Drei Befehle zur Diagnose des Problems
Es ist leicht zu sagen, was mit Ihrer Konfiguration falsch sein könnte, weil MongoDB nicht läuft, aber es ist viel schwieriger, die genaue Ursache zu ermitteln. Drei einfache Möglichkeiten zur Diagnose, woher der Fehler kommen könnte, sind:
- Überprüfen Sie den Servicestatus: sudo systemctl status mongod –no-pager
- Überprüfen Sie die detaillierten Protokolle (am wichtigsten): sudo journalctl -u mongod –no-pager -n 100
- Überprüfen Sie die eigene Protokolldatei von MongoDB
Bitte beachten Sie jedoch, dass bei einer vollen Festplatte oder beschädigten Systemdateien die Reparatur eher Ihre Hardware als Ihre Software betrifft. Benutzer müssen möglicherweise bessere Ausrüstung für ihr Server-Setup kaufen, um MongoDB effizient auszuführen, wenn ihr aktuelles Setup veraltet ist.
Wenn der Kauf eines voll ausgestatteten Servers nicht in Ihrem Budget liegt, sollten Sie einen Blick auf Cloudzy werfen Ubuntu VPS für ein sauberes Erlebnis auf Ihrem eigenen privaten Server mit einer Ubuntu-Distribution Ihrer Wahl. Es kommt mit 24/7 Unterstützung und bis zu 40Gbps Netzwerkgeschwindigkeit, dank seiner NVMe-SSD Und DDR5-RAM Lagerung.
Darüber hinaus hat es eine minimale Latenz, 99.95% Betriebszeit und a 14 Tage Geld-zurück-Garantie. Darüber hinaus ist es auch in erhältlich 12 Standorte auf der ganzen Welt zu einem erschwinglichen Preis.
Drei häufigste Korrekturen, um MongoDB zum Laufen zu bringen
Es gibt keine absolute Möglichkeit, das genaue Problem Ihres Systems mit MongoDB zu erkennen und es mit einem einfachen Schritt zu beheben. Hier sind einige allgemeine Korrekturen, mit denen Sie Ihre MongoDB hoffentlich zum Laufen bringen können.
- Fehler beim Einrücken der YAML-Konfiguration. Angenommen, Sie haben bearbeitet /etc/mongod.conf Überprüfen Sie die Einrückung erneut, indem Sie dazu aufgefordert werden sudo nano /etc/mongod.conf. Die YAML-Datei reagiert sehr empfindlich auf Leerzeichen. Stellen Sie daher sicher, dass nur zwei Leerzeichen pro Ebene vorhanden sind /etc/mongod.conf.
- Besetzter Port 27017. Wenn etwas anderes Port 27017 verwendet, fahren Sie es herunter oder ändern Sie den Port von MongoDB mongod.conf. Wenn Sie sich nicht sicher sind, ob etwas auf Port 27017 läuft, können Sie es gerne ausführen sudo ss -lntp | grep 27017 um es auszuprobieren
- Berechtigungsproblem im Datenverzeichnis. Manchmal fehlt MongoDB die Berechtigung zur Ausführung auf Ihrem System und wird daher überhaupt nicht ausgeführt. Erster Lauf sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, dann starten Sie MongoDB mit neu sudo systemctl starte mongod neu
Entsprechend Offizielle Website von MongoDB, eine andere Möglichkeit, dieses Problem zu umgehen, besteht darin, den Daemon mit neu zu laden sudo systemctl daemon-reload, und führen Sie den ersten Befehl aus, sudo systemctl starte Mongod, wieder.
Wenn nein mongod.service, die Installation hat die systemd-Einheit nicht platziert, also installieren Sie sie neu mongodb-org Paketsatz.
Nach alledem können Sie dann überprüfen, ob MongoDB erfolgreich gestartet wurde sudo systemctl status mongod. Wenn das Terminal sagt aktiv (laufend), es kann losgehen. Es gibt jedoch noch einige weitere Konfigurationen, die Ihr Erlebnis deutlich reibungsloser gestalten.
Machen Sie MongoDB automatisiert
MongoDB wird nicht jedes Mal automatisch geöffnet, wenn Sie Ihren Server einschalten. Sie müssen einige der genannten Schritte jedes Mal wiederholen. Optional können Sie Ubuntu anweisen, MongoDB nach dem Booten Ihres Desktops zu starten.
Einfach laufen sudo systemctl mongod aktivieren auf Ihrem Terminal, das Ihr System von nun an anweist, MongoDB nach jedem Neustart auszuführen. Darüber hinaus können Sie das neu starten Mongod Prozess durch Erteilen des Befehls sudo systemctl starte mongod neu. Darüber hinaus müssen Benutzer möglicherweise den Prozess auf Fehler oder wichtige Meldungen verfolgen, indem sie die Ausgabe in der Datei überprüfen:
/var/log/mongodb/mongod.log
Nachdem alles eingerichtet ist, können wir mit der Verwendung Ihres Mongod beginnen.
Öffnen der MongoDB-Shell
Um mit ihrer Datenbank zu interagieren, müssen Benutzer eine MongoDB-Shell öffnen, indem sie den Befehl ausgeben Mongosch. Betrachten Sie es als ein dediziertes Eingabeaufforderungsterminal für MongoDB oder eine MySQL-Konsole. Alternativ können Sie mit MongoDB über GUI-Tools wie MongoDB-Treiber interagieren. Wenn Sie jedoch vom Terminal aus damit interagieren möchten, Mongosch ist dafür gemacht, das zu ermöglichen.
Ihre MongoDB ist jetzt voll funktionsfähig, Sie müssen jedoch einige zusätzliche Schritte berücksichtigen, um sie sicher zu machen.
Machen Sie MongoDB authentifiziert
MongoDB verfügt standardmäßig über keinen Passwortschutz, da Sie bereits Zugriff haben müssen, um einen Benutzer zu erstellen. Hier ist eine einfache Möglichkeit, dies zu erreichen
Erstellen Sie einen Admin-Benutzer
Zuerst müssen Sie zur Admin-Datenbank wechseln mit:
use admin
Dann erstellen Sie einen Benutzer mit db.createUser({…}). Füllen Sie es mit Ihrem aus
- Benutzername
- Passwort
- Rolle
Für Rolle vorzugsweise Typ Wurzel was volle Kontrolle oder Administrator bedeutet.
Authentifizierung aktivieren
Nachdem wir nun unseren eigenen Benutzer eingerichtet haben, müssen wir ihn bearbeiten /etc/mongod.conf Datei. Das liegt daran, dass diese Datei das Verhalten von MongoDB steuert. Beachten Sie jedoch, dass Sie beim Bearbeiten der Datei die Datei immer neu starten müssen Mongod Service danach mit sudo systemctl starte mongod neu. Was wir hier ändern müssen, ist ein Parameter namens Autorisierung, der so aussieht:
security:
authorization:
Um den Authentifizierungsprozess abzuschließen, ändern Sie einfach den Autorisierungswert wie folgt:
security:
authorization: enabled
Von nun an erfordert MongoDB eine Anmeldung, sodass Ihre Authentifizierung abgeschlossen ist. Fahren wir nun mit einer anderen Konfiguration fort, die MongoDB vollständig nutzt.
Öffnen Sie Ihre Firewall
Wie bereits erwähnt, läuft MongoDB auf Port 27017. Da Firewalls Ports standardmäßig blockieren, müssen Sie Ihre Firewall anweisen, die Ausführung von Anwendungen auf 27017 zuzulassen. Um dies zu erreichen, geben Sie einfach den folgenden Befehl ein:
ufw allow from YOUR_IP to any port 27017
Alternativ können Sie den Befehl auch erteilen ufw erlauben 27017, aber seien Sie vorsichtig, denn wenn Sie dies ausführen, kann das gesamte Internet auf diesen Port zugreifen. Am sichersten ist es möglicherweise, sich für die erste Option zu entscheiden, da der Datenverkehr nur über Ihre IP-Adresse auf den Port zugreifen kann.
Benutzer können bei der Ausführung von MongoDB immer noch mit Herausforderungen konfrontiert sein, beispielsweise mit dem Problem des Fernzugriffs. Bleiben Sie hier, um herauszufinden, wie Sie das Problem beheben können.
Problem mit dem Fernzugriff
MongoDB startet mit bindIp. bindIp beschränkt MongoDB auf 127.0.0.1, was nur lokale Verbindungen zulässt. Wenn Sie also von einem anderen Ort aus eine Verbindung zu Ihrem MongoDB-Server herstellen würden, wäre Ihnen der Zugriff nicht gestattet, da MongoDB standardmäßig so konfiguriert ist, dass nur Verbindungen vor Ort zulässig sind, sofern nicht anders konfiguriert.
Machen Sie sich noch einmal auf den Weg /etc/mongod.conf, und Sie werden drei Zeilen wie diese sehen:
net:
port: 27017
bindIp: 127.0.0.1
Wenn Sie Remoteverbindungen zu Ihrem zulassen möchten Mongod Benutzer, ändern Sie die oben dargestellten Werte wie folgt:
net:
port: 27017
bindIp: 0.0.0.0
Starten Sie anschließend Ihr Gerät neu Mongod Dienst mit sudo systemctl starte mongod neu wie bei jeder anderen Bearbeitung, die Sie an der Datei vornehmen.
Sie haben jetzt Ihre gewährt Mongod Dienstberechtigung zum Akzeptieren von Remoteverbindungen. Seien Sie jedoch vorsichtig, da Sie dadurch Ihre Datenbank dem gesamten Internet zugänglich machen, wenn Sie Ihre Datenbank noch nicht authentifiziert haben Mongod Benutzer. Es gibt viele Bots, die ständig nach offenen MongoDB-Ports suchen. Stellen Sie daher immer sicher, dass Ihr Mongod-Benutzer über ein Passwort verfügt.
Gesamtzusammenfassung
Herzlichen Glückwunsch, Sie haben jetzt alles getan, um einen optimierten MongoDB-Dienst für Ihr Ubuntu-System zu erstellen. Hier ist auch eine mentale Karte, um jeden in diesem Artikel vorgestellten Schritt zu verfolgen.
| Befehl | Was es tut |
| passendes Update | Softwareliste aktualisieren |
| apt installieren | Software installieren |
| Locken | Datei herunterladen |
| gpg | Verschlüsselungsschlüssel verwalten |
| Echo | Text drucken |
| T-Stück | In geschützte Datei schreiben |
| systemctl starten | Dienst starten |
| systemctl aktivieren | Beginnen Sie beim Booten |
| systemctl-Status | Überprüfen Sie den Service |
| Mongosch | Rufen Sie die MongoDB-Shell auf |
| Bearbeiten /etc/mongod.conf | Authentifizierung aktivieren |
| ufw | Firewall verwalten |
| bindIp | Fernzugriff zulassen |
Das sollte Ihnen helfen, den gesamten Prozess besser zu verstehen. Aber wenn Ihnen die alleinige Einrichtung von MongoDB zu viel ist, stellen Sie sicher, dass Sie Cloudzy’s starten MongoDB VPS für Ihren eigenen privaten Ubuntu 24.04 LTS-Server mit vorinstalliertem MongoDB.
Es kommt mit 99.95% Betriebszeit, 24/7 Unterstützung und a 14 Tage Geld-zurück-Garantie. Darüber hinaus unterstützt es bis zu 40 Gbps der Bandbreite dank seiner DDR5-RAM Und NVMe-SSD Lagerung. Machen Sie sich keine Gedanken darüber, wo Sie wohnen, denn es ist auch in verfügbar 12 Standorte auf der ganzen Welt zu einem erschwinglichen Preis.
Aber nach alledem haben Sie es endlich geschafft, Ihren eigenen leistungsfähigen MongoDB-Dienst einzurichten, der mit allen Konfigurationen ausgestattet ist, um Arbeitslasten und Unternehmen auf Produktionsebene zu unterstützen.