50 % Rabatt auf alle Pläne, begrenzte Zeit. Ab $2.48/mo
12 Min. verbleibend
Datenbanken & Analysen

MongoDB auf den drei neuesten Versionen von Ubuntu installieren (Schritt für Schritt)

Jim Schwarz By Jim Schwarz 12 Min. Lesezeit
Original-Symbol von MongoDB auf einem futuristischen Server, um die Installation von MongoDB auf Ubuntu zu veranschaulichen + Teaser zum Artikelinhalt + Artikeltitel + Cloudzy-Logo

Du hast dich also für MongoDB entschieden – eine großartige alternative to MariaDB um eine MERN-Stack-App, eine Analyseplattform oder ein beliebiges dokumentenbasiertes System zu entwickeln, aber an den endlosen Terminalfehlern und der guten alten Linux-Kommandozeile gescheitert bist. 

Keine Sorge – diese Anleitung erklärt alles, was du brauchst, um MongoDB auf Ubuntu zu installieren.

MongoDB verwendet X.Y.Z Versionierung. 8.0 ist ein wichtig Release-Serie und 8.2 ist ein geringfügig Veröffentlichung innerhalb des 8.0-Zyklus. Minor Releases fügen Features innerhalb desselben Major-Zyklus hinzu und werden ab 8.0 auch für On-Prem-Installationen für bestimmte Anwendungsfälle angeboten (zum Beispiel Search und Vector Search). MongoDB 8.0 auf 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 der offiziellen mongodb-org Paket Ubuntu erfordert zwei Voraussetzungen: GnuPG und Curl. Diese Tools erteilen Ubuntu die Berechtigung, MongoDB herunterzuladen, da Ubuntu selbst mongodb Das Paket wird nicht von MongoDB Inc. gepflegt und steht im Konflikt mit dem offiziellen mongodb-org Paket. Wenn Sie bereits installiert haben mongodb Stelle sicher, dass du es deinstallierst.

Führe anschließend den folgenden Befehl aus sudo apt-get install gnupg curl. Curl wird benötigt, um Dateien aus dem Internet herunterzuladen – in diesem Fall den Sicherheitsschlüssel von MongoDB. GnuPG prüft die Authentizität von Software und ist notwendig, damit Ubuntu MongoDB-Pakete verifizieren kann. Fehlt GnuPG, schlägt diese Überprüfung fehl.

Stellen Sie sicher, dass GnuPG und Curl erfolgreich installiert wurden. Bei erfolgreicher Installation sollte die Ausgabe so aussehen:Ubuntu Terminal-Ausgabe nach dem Hinzufügen von GnuPG und Curl

GPG-Schlüssel für MongoDB importieren

Der Paketmanager von Ubuntu, APT, verwendet GPG-Schlüssel, um Pakete vor der Installation zu verifizieren. Ohne diesen GPG-Schlüssel lässt Ubuntu das Hinzufügen von MongoDB-Repositories nicht zu. Gib folgenden Befehl in deinem 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

Bei Erfolg sollte die Terminal-Ausgabe so aussehen:Ubuntu-Terminal nach erfolgreichem Hinzufügen des GPG-Schlüssels von MongoDB.

Kurz gesagt: Dieser Befehl lädt die Sicherheitssignatur von MongoDB herunter, konvertiert sie in ein für Ubuntu lesbares Format und speichert sie in einem gesicherten Systemordner. Hier ist der Befehl Abschnitt für Abschnitt erklärt:

  1. curl -fsSL URL lädt den offiziellen Schlüssel von MongoDB herunter
  2. –dearmor konvertiert den Schlüssel vom Textformat in ein Binärformat, das Ubuntu versteht
  3. -o /usr/share/keyrings/mongodb-server-8.0.gpg speichert die Binärdatei in dem Ordner, in dem Ubuntu vertrauenswürdige Schlüssel ablegt

Wenn du jeden Befehl exakt eingibst, wird der öffentliche GPG-Schlüssel problemlos hinzugefügt. Manche Nutzer stoßen beim Installieren von MongoDB jedoch auf Fehler, die durch einen nicht übereinstimmenden GPG-Schlüssel verursacht werden. Fehler wie:

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

treten auf, wenn du nicht die exakten GPG-Schlüssel-Befehle von oben verwendest, sondern stattdessen sudo apt-key nutzt - was moderne Ubuntu-Versionen nicht mehr empfehlen.

MongoDB-Repository hinzufügen

Das Hinzufügen des MongoDB-Repositories legt eine Datei an, die Ubuntu mitteilt, dass MongoDB-Pakete unter einer bestimmten Internetadresse verfügbar sind. Erstelle die List-Datei unter /etc/apt/sources.list.d/mongodb-org-8.0.list indem du die Repository-Zeile mit echo … | sudo tee …

hineinschreibst. Dabei wird es etwas komplizierter, da verschiedene Ubuntu-Versionen unterschiedliche Varianten dieses Befehls erfordern. Im Folgenden zeigen wir, wie du die List-Datei auf den drei zuvor genannten Ubuntu-Versionen importierst.

Ubuntu 24.04 (Noble)

Um die List-Datei auf Ubuntu 24.04 zu erstellen, gib einfach 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 in dein Terminal ein.

Das sieht auf den ersten Blick kompliziert aus, aber keine Sorge. Wenn wir den Befehl Abschnitt für Abschnitt durchgehen, wird alles klar.

  1. echo gibt Text aus
  2. /etc/apt/sources.list.d ist der Ordner, in dem Ubuntu die Paketquellen speichert. Jede Datei im .list Format in diesem Ordner verweist Ubuntu auf einen bestimmten Speicherort, von dem Software heruntergeladen wird
  3. Als normaler Benutzer kannst du standardmäßig nichts in Systemordner schreiben. Tee gibt dem Benutzer die nötige Berechtigung, Text in Systemdateien zu schreiben, während sudo
  4. edel ist der Codename für Ubuntu 24.04. Jede Ubuntu-Version hat einen Codenamen, zum Beispiel:
Version Codename
20.04 Brennpunkt
22.04 Jammy
24.04 Edel

Wenn du die falsche Ubuntu-Version mit dem Befehl kombinierst, erkennt Ubuntu das Repository von MongoDB nicht.

Ubuntu 22.04 (Jammy)

Das Hinzufügen der Listendatei für Ubuntu Jammy funktioniert genauso, aber du musst im Befehl edel mit jammyersetzen, also so:

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

Stelle sicher, dass der Codename zu deiner Ubuntu-Version passt, sonst schlägt es wieder fehl.

Ubuntu 20.04 (Focal)

Gehe hier genauso vor, aber verwende statt edel or jammydiesen Wert: 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

Nachdem das Repository eingerichtet ist, können Sie mit der Installation fortfahren mongodb-org.

Paketdatenbank aktualisieren

Da das Repository jetzt von Ubuntu erkannt wird, müssen Sie die Paketdatenbank darin neu laden, damit MongoDB künftig ebenfalls enthalten ist. Führen Sie dazu folgenden Befehl aus:

sudo apt-get update

Dieser Befehl ist für alle Ubuntu-Versionen gleich. Wird er übersprungen, kennt Ubuntu MongoDB nicht. Bei erfolgreicher Ausführung sollte Ihr Terminal folgende Ausgabe zeigen:Ubuntu-Terminalausgabe nach Ausführen von sudo apt-get update

 Jetzt, nachdem die Paketdatenbank neu geladen wurde, können die MongoDB-Pakete heruntergeladen werden.

MongoDB Community Server installieren

Es gibt verschiedene MongoDB-Versionen zur Auswahl, aber die meisten Nutzer entscheiden sich für die aktuelle stabile Version. Um diese zu installieren, führen Sie folgenden Befehl aus: sudo apt-get install -y mongodb-org

Ubuntu hat die MongoDB-Pakete heruntergeladen, installiert, ein MongoDB-Benutzerkonto und ein Datenverzeichnis angelegt sowie MongoDB als Systemdienst registriert. Damit ist die Installation von MongoDB auf Ubuntu abgeschlossen. Jetzt starten wir es.

MongoDB starten

Um MongoDB auszuführen, muss der Dienste-Manager von Ubuntu, "systemd", MongoDB als Hintergrunddienst erkennen. Geben Sie dazu folgenden Befehl in Ihr Terminal ein:

sudo systemctl start mongod

Wurde der Befehl erfolgreich ausgeführt, läuft MongoDB nun als Hintergrundprozess unter Ubuntu. Schlägt der Befehl fehl, erhalten Sie möglicherweise eine Fehlermeldung wie: Fehler beim Starten von mongod.service.

Dies kann verschiedene häufige Ursachen haben:

  • Fehler in der Konfigurationsdatei in /etc/mongod.conf (Einrückungsfehler in YAML sind häufig)
  • Port-Konflikt (Port 27017 ist bereits belegt)
  • Berechtigungsproblem bei Daten- oder Log-Verzeichnissen (var/lib/mongodb oder var/log/mongodb)
  • Festplatte voll or beschädigter Dateisystemzustand

Drei Befehle zur FehlerdiagnoseFuturistisches Server-Setup + drei Ubuntu-Terminal-Befehle + Cloud mit Upgrade-Pfad-Beschriftung.

Es lässt sich leicht sagen, was mit Ihrer Konfiguration nicht stimmt, wenn MongoDB nicht startet – den genauen Grund zu finden ist jedoch schwieriger. Drei Möglichkeiten, die Fehlerquelle einzugrenzen:

  1. Dienststatus prüfen: sudo systemctl status mongod –no-pager
  2. Detaillierte Logs prüfen (am wichtigsten): sudo journalctl -u mongod –no-pager -n 100
  3. Eigene Log-Datei von MongoDB prüfen

Wichtig: Wenn Ihre Festplatte voll ist oder Systemdateien beschädigt sind, liegt das Problem auf Hardware-Ebene, nicht bei der Software. Um MongoDB zuverlässig zu betreiben, kann es notwendig sein, veraltete Hardware auszutauschen. 

Wenn die Anschaffung eines eigenen Servers das Budget übersteigt, schauen Sie sich Cloudzy's an Ubuntu VPS für ein sauberes Erlebnis auf Ihrem eigenen privaten Server mit einer Ubuntu-Distribution Ihrer Wahl. Er wird geliefert mit 24/7 Support und bis zu 40Gbps Netzwerkgeschwindigkeit, dank seiner NVMe SSD und DDR5 RAM Speicher.

Zudem bietet er minimale Latenz, 99.95% Verfügbarkeit und eine 14-tägig Geld-zurück-Garantie. Darüber hinaus ist er an 12 Standorten weltweit zu einem günstigen Preis verfügbar.

Die drei häufigsten Lösungen, damit MongoDB läuft

Es gibt keinen universellen Weg, das genaue Problem Ihres Systems mit MongoDB zu erkennen und in einem Schritt zu beheben. Hier sind einige gängige Lösungsansätze, mit denen Sie MongoDB zum Laufen bringen können.

  1. YAML-Konfiguration: Einrückungsfehler. Angenommen, Sie haben /etc/mongod.conf bearbeitet: Überprüfen Sie die Einrückung mit sudo nano /etc/mongod.conf. Die YAML-Datei reagiert empfindlich auf Leerzeichen. Achten Sie darauf, dass pro Ebene genau zwei Leerzeichen verwendet werden in /etc/mongod.conf.
  2. Port 27017 belegt. Wenn ein anderer Prozess Port 27017 verwendet, beende ihn oder ändere den Port von MongoDB in mongod.conf. Wenn du dir nicht sicher bist, was auf Port 27017 läuft, führe einfach folgenden Befehl aus: sudo ss -lntp | grep 27017 um das zu prüfen
  3. Berechtigungsproblem im Datenverzeichnis. Manchmal fehlen MongoDB die nötigen Berechtigungen, um auf deinem System zu laufen, und startet daher gar nicht erst. Führe zunächst folgenden Befehl aus: sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, dann starte MongoDB neu mit sudo systemctl restart mongod

Laut Offizielle Website von MongoDB, eine weitere Möglichkeit, dieses Problem zu umgehen, ist das Neuladen des Daemons mit sudo systemctl daemon-reload, und führe dann den ersten Befehl aus, sudo systemctl start mongod, erneut aus.

Falls kein mongod.servicevorhanden ist, wurde die systemd-Unit bei der Installation nicht angelegt. Installiere das mongodb-org Paket neu.

Anschließend kannst du prüfen, ob MongoDB erfolgreich gestartet wurde, mit sudo systemctl status mongod. Wenn das Terminal aktiv (läuft)anzeigt, bist du startklar. Es gibt aber noch einige weitere Einstellungen, die den Betrieb deutlich erleichtern.

MongoDB automatisch startenFuturistisches Server-Setup mit MongoDB-Automatisierungssymbol, Terminal mit MongoDB-Befehl und Log-Datei

MongoDB startet nicht automatisch beim Hochfahren des Servers. Einige der genannten Schritte müssen bei jedem Start wiederholt werden. Optional kann Ubuntu so konfiguriert werden, dass MongoDB nach dem Start der Desktop-Umgebung automatisch gestartet wird.

Führe einfach sudo systemctl enable mongod im Terminal aus. Ab sofort weist dieser Befehl das System an, MongoDB nach jedem Neustart zu starten. Den mongod Prozess kannst du mit folgendem Befehl neu starten: sudo systemctl restart mongod. Außerdem sollten Fehler oder wichtige Meldungen durch Überprüfen der folgenden Logdatei nachverfolgt werden:

/var/log/mongodb/mongod.log

Nachdem alles eingerichtet ist, kann mongod nun verwendet werden.

Die MongoDB-Shell öffnen

Um mit der Datenbank zu arbeiten, muss eine MongoDB-Shell mit folgendem Befehl geöffnet werden: mongosh. Stell es dir als dediziertes Terminal für MongoDB oder als MySQL-Konsole vor. Alternativ lässt sich MongoDB auch über GUI-Tools wie MongoDB-Treiber verwenden. Für die Arbeit direkt im Terminal ist mongosh genau das richtige Werkzeug dafür.

MongoDB ist jetzt voll einsatzbereit. Für eine sichere Konfiguration sind jedoch noch einige zusätzliche Schritte erforderlich.

MongoDB absichernMongoDB-Authentifizierungsprozess + Schlosssymbol + Authentifizierungsbestätigung.

MongoDB hat standardmäßig keinen Passwortschutz, da für die Benutzererstellung bereits Zugriff auf die Datenbank erforderlich ist. So lässt sich das schnell ändern:

Admin-Benutzer anlegen

Wechsle zunächst mit folgendem Befehl zur Admin-Datenbank:

use admin

Erstelle dann einen Benutzer mit db.createUser({…}). Trage dabei folgende Angaben ein:

  • Benutzername
  • Passwort
  • Rolle

Für die Rolle vorzugsweise root eingeben, was volle Kontrolle bzw. Administratorzugriff bedeutet.

Authentifizierung aktivieren

Jetzt, da wir unseren eigenen Benutzer eingerichtet haben, müssen wir die /etc/mongod.conf Datei bearbeiten. Diese Datei steuert das Verhalten von MongoDB. Beachte dabei: Nach jeder Änderung an der Datei muss der mongod Dienst neu gestartet werden, und zwar mit sudo systemctl restart mongod. Der Parameter, den wir hier anpassen müssen, heißt authorization und sieht so aus:

security:

  authorization:

Um die Authentifizierung abzuschließen, ändere den Wert von authorization wie folgt:

security:

  authorization: enabled

Ab sofort verlangt MongoDB eine Anmeldung. Die Authentifizierung ist damit abgeschlossen. Als Nächstes schauen wir uns eine weitere Konfiguration an, die MongoDB voll ausschöpft.

Firewall öffnen

Wie bereits erwähnt, läuft MongoDB auf Port 27017. Da Firewalls Ports standardmäßig blockieren, musst du deiner Firewall erlauben, Anwendungen auf Port 27017 auszuführen. Führe dazu einfach folgenden Befehl aus:

ufw allow from YOUR_IP to any port 27017

Alternativ kannst du auch folgenden Befehl verwenden: ufw allow 27017, aber Vorsicht: Damit wird der Port für das gesamte Internet freigegeben. Die erste Option ist in der Regel die sicherere Wahl, da sie den Zugriff auf den Port auf deine IP-Adresse beschränkt.

Bei der Nutzung von MongoDB können weiterhin Probleme auftreten, zum Beispiel beim Remote-Zugriff. Lies weiter, um zu erfahren, wie du diese behebst.

Problem mit dem Remote-ZugriffServer-Setup mit 3 Monitoren zur Konfiguration der Remote-Zugriffseinstellungen von MongoDB sowie Terminal-Befehle.

MongoDB startet mit bindIp. bindIp schränkt MongoDB auf 127.0.0.1ein und erlaubt damit nur lokale Verbindungen. Wenn du dich also von einem anderen Ort aus mit deinem MongoDB-Server verbinden möchtest, wird der Zugriff verweigert, da MongoDB standardmäßig nur lokale Verbindungen zulässt, sofern nichts anderes konfiguriert wurde.

Öffne erneut /etc/mongod.conf, dort siehst du drei Zeilen wie diese:

net:

  port: 27017

  bindIp: 127.0.0.1

Wenn du Remote-Verbindungen zu deinem mongod Ändere als Benutzer die oben gezeigten Werte wie folgt:

net:

  port: 27017

  bindIp: 0.0.0.0

Starte danach deinen mongod Dienst neu mit sudo systemctl restart mongod wie bei jeder anderen Änderung an der Datei.

Du hast deinem mongod Dienst nun erlaubt, Remote-Verbindungen anzunehmen. Sei dabei vorsichtig: Wenn du deinen mongod Benutzer noch nicht authentifiziert hast, ist deine Datenbank damit öffentlich erreichbar. Es gibt viele Bots, die ständig nach offenen MongoDB-Ports suchen. Stelle daher sicher, dass dein mongod-Benutzer immer ein Passwort hat.

Zusammenfassung

Glückwunsch. Du hast jetzt alles erledigt, um einen optimierten MongoDB-Dienst für dein Ubuntu-System einzurichten. Hier ist außerdem eine Übersicht aller Schritte aus diesem Artikel.

Befehl Funktion
apt update Softwareliste aktualisieren
apt installieren Software installieren
curl Datei herunterladen
gpg Verschlüsselungsschlüssel verwalten
echo Text ausgeben
Tee In geschützte Datei schreiben
systemctl start Dienst starten
systemctl aktivieren Beim Systemstart aktivieren
systemctl-Status Dienststatus prüfen
mongosh MongoDB-Shell öffnen
Bearbeiten /etc/mongod.conf Authentifizierung aktivieren
ufw Firewall verwalten
bindIp Fernzugriff erlauben

Das sollte dir den gesamten Prozess besser verständlich machen. Falls dir die manuelle Einrichtung von MongoDB zu aufwändig ist, starte einfach einen Cloudzy's MongoDB VPS für deinen eigenen privaten Ubuntu 24.04 LTS-Server mit vorinstalliertem MongoDB.

Er wird geliefert mit einer 99.95% uptime, 24/7 Support und ein 14-tägig Geld-zurück-Garantie. Darüber hinaus unterstützt er bis zu 40 Gbps Bandbreite dank DDR5 RAM und NVMe SSD Speicher. Und egal wo du lebst - der Server ist auch verfügbar in 12 Standorten weltweit zu einem günstigen Preis verfügbar.

Damit hast du erfolgreich deinen eigenen leistungsfähigen MongoDB-Dienst eingerichtet, vollständig konfiguriert für produktionsreife Workloads und den geschäftlichen Einsatz.

Teilen

Weitere Blog-Beiträge

Weiterlesen.

Cleveres Datenmanagement für Ihr Unternehmen: Cloud-ähnliche Speicher- und Backup-Strategien mit VPS
Datenbanken & Analysen

Cleveres Datenmanagement für Ihr Unternehmen: Cloud-ähnliche Speicher- und Backup-Strategien mit VPS

VPS für sicheres Unternehmensdatenmanagement ist die Strategie, die ich empfehle, sobald ein Unternehmen beschließt, Schluss mit dem Jonglieren zwischen Laptops, E-Mail-Anhängen und halb vergessenen

Rexa CyrusRexa Cyrus 7 Min. Lesezeit
Materialisierte Ansicht vs. Ansicht
Datenbanken & Analysen

Materialized View vs. View: Ihre Rolle in Datenbanken verstehen

In Datenbanksystemen speichert eine Materialized View als Datenbankobjekt die vorberechneten Ergebnisse einer Abfrage als physische Tabelle. Da die Daten tatsächlich auf dem Datenträger gespeichert sind, können komplexe

Efeu JohnsonEfeu Johnson 7 Min. Lesezeit
SnowFlake gegen DataBricks
Datenbanken & Analysen

Databricks vs Snowflake: Ein unvoreingenommener Vergleich für Datenprofis 🧱❄️

Für Unternehmen, die datenbasierte Entscheidungen treffen – ob E-Commerce-Plattformen, die das Kundenverhalten analysieren, Finanzinstitute, die Trends prognostizieren, oder Technologieunternehmen

Allan Van KirkAllan Van Kirk 13 Min. Lesezeit

Bereit zum Deployen? Ab 2,48 $/Monat.

Unabhängige Cloud seit 2008. AMD EPYC, NVMe, 40 Gbps. 14 Tage Geld-zurück-Garantie.