Wie man MongoDB auf Ubuntu 18.04 LTS installiert und konfiguriert

MongoDB ist eine NoSQL-Datenbank, die eine hohe Leistung, Hochverfügbarkeit und automatische Skalierung der Datenbank auf Unternehmensebene bietet. MongoDB ist eine NoSQL-Datenbank, so dass Sie SQL (Structured Query Language) nicht verwenden können, um Daten einzufügen und abzurufen, und es speichert keine Daten in Tabellen wie MySQL oder Postgres. Die Daten werden in einer „Dokument“-Struktur im JSON-Format (in MongoDB BSON genannt) abgelegt. MongoDB wurde 2009 eingeführt und wird derzeit von MongoDB Inc. entwickelt.

MongoDB bietet nur Pakete für 64-Bit-LTS (long-term support) Ubuntu-Versionen an. Zum Beispiel 14.04 LTS (vertrauenswürdig), 16.04 LTS (xenial), 18.04 LTS (bionisch) und so weiter.

In diesem Tutorial werde ich MongoDB 4.0 auf Ubuntu 18.04 LTS installieren.

Voraussetzungen

  • Ubuntu Server 18.04 – 64 bit
  • Root-Rechte

Was wir in diesem Tutorial tun werden:

  1. MongoDB installieren
  2. MongoDB konfigurieren
  3. Fazit

MongoDB auf Ubuntu 18.04 LTS installieren

Schritt 1 – Importieren des öffentlichen Schlüssels

GPG-Schlüssel des Software-Distributors werden vom Ubuntu-Paketmanager apt (Advanced Package Tool) benötigt, um die Konsistenz und Authentizität des Pakets sicherzustellen. Führen Sie diesen Befehl aus, um MongoDB-Schlüssel auf Ihren Server zu importieren.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4

Schritt 2 – Erstellen der Orderbuchdatei MongoDB

Erstellen Sie mit diesem Befehl eine MongoDB-Listendatei in /etc/apt/sources.list.d/:

sudo echo "deb http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Schritt 3 – Aktualisieren des Repositorys

das Repository mit dem Befehl apt aktualisieren:

sudo apt-get update

Schritt 4 – MongoDB installieren

Jetzt können Sie MongoDB installieren, indem Sie diesen Befehl eingeben:

sudo apt-get install -y mongodb-org

Der MongoDB apt-Installer hat automatisch eine mongod.service Datei für Systemd erstellt, so dass es nicht mehr notwendig ist, diese manuell zu erstellen.

Starten Sie MongoDB und fügen Sie es als Dienst hinzu, der beim Booten gestartet werden soll:

sudo systemctl start mongod
sudo systemctl enable mongod

Überprüfen Sie nun, ob MongoDB auf Port 27017 mit dem Befehl netstat gestartet wurde.

sudo netstat -plntu

Überprüfen Sie, ob MongoDB läuft.

MongoDB-Benutzername und Passwort konfigurieren

Wenn die MongoDB-Pakete installiert sind, können Sie Benutzername und Passwort für den Datenbankserver konfigurieren:

Schritt 1 – Offene Mongoschale

Bevor Sie einen Benutzernamen und ein Passwort für MongoDB einrichten, müssen Sie die MongoDB-Shell auf Ihrem Server öffnen. Du kannst dich durch Tippen einloggen:

mongo

Wenn Sie einen Fehler erhalten, ist die globale Initialisierung fehlgeschlagen: BadValue Ungültig oder kein Benutzer-Locale gesetzt. Bitte stellen Sie sicher, dass die LANG- und/oder LC_*-Umgebungsvariablen korrekt gesetzt sind, versuchen Sie den Befehl:

export LC_ALL=C
mongo

Schritt 2 – Wechseln Sie zum Datenbankadministrator

Sobald Sie sich in der MongoDB-Shell befinden, wechseln Sie zur Datenbank mit dem Namen admin:

use admin

Schritt 3 – Erstellen des Root-Benutzers

Erstellen Sie den Root-Benutzer mit diesem Befehl:

db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})

Desc: Erstellen Sie eine Benutzerverwaltung mit dem Passwort admin123 und haben Sie die Berechtigung/Rolle als root und die Datenbank ist admin.

Erstellen eines Admin-Benutzers in MongoDB

Geben Sie nun exit ein, um die MongoDB-Shell zu verlassen.

exit

Und du bist wieder auf der Linux-Shell.

Schritt 4 – MongoDB-Authentifizierung aktivieren

Bearbeiten Sie die mongodb-Servicedatei ‚/lib/systemd/system/system/mongod.service‘ mit Ihrem Editor.

sudo nano /lib/systemd/system/mongod.service

Fügen Sie in der Zeile 9 von‘ExecStart‚ die neue Option‘–auth‚ hinzu.

ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf

Speichern Sie die Servicedatei und beenden Sie nano.

Laden Sie den Dienst systemd neu:

sudo systemctl daemon-reload

Schritt 5 – Starten Sie MongoDB neu und versuchen Sie, eine Verbindung herzustellen.

Starten Sie nun MongoDB neu und verbinden Sie sich mit dem erstellten Benutzer.

sudo service mongod restart

und verbinden Sie sich mit der MongoDB-Shell mit diesem Befehl:

mongo -u admin -p admin123 --authenticationDatabase admin

und Sie werden die Ausgabe so sehen:

Testen Sie die MongoDB-Authentifizierung.

Externen Zugriff ermöglichen und die UFW Firewall konfigurieren

UFW ist die Standard-Firewall in Ubuntu. In diesem Kapitel werde ich zeigen, wie man UFW so konfiguriert, dass es externen Zugriff auf MongoDB ermöglicht.

Überprüfen des UFW-Status

sudo ufw status

Wenn das Ergebnis ist:

Status: inactive

Aktivieren Sie UFW mit diesem Befehl und öffnen Sie zuerst den SSH-Port, wenn Sie über SSH verbunden sind:

sudo ufw allow ssh
sudo ufw enable

bevor Sie mit den nächsten Schritten fortfahren.

Aus Sicherheitsgründen sollten Sie den Zugriff auf den MongoDB-Port 27017 nur von IP-Adressen erlauben, die auf die Datenbank zugreifen müssen. Standardmäßig kann localhost immer darauf zugreifen, so dass der MongoDB-Port für IP 127.0.0.0.0.1 nicht geöffnet werden muss.

UFW Firewall Syntax

sudo ufw allow from <target> to <destination> port <port number>

Öffnen Sie den MongoDB-Port in UFW.

Um den Zugriff von der externen IP 192.168.1.10 auf MongoDB zu ermöglichen, verwenden Sie diesen Befehl:

sudo ufw allow from 192.168.1.10 to any port 27017

Ersetzen Sie die IP-Adresse im obigen Befehl durch die externe IP-Adresse, die Sie für den Zugriff auf MongoDB verwenden möchten.

Wenn Sie den MongoDB-Port für eine beliebige IP öffnen möchten, z.B. wenn Sie ihn in einem lokalen Netzwerk betreiben und alle Systeme in diesem Netzwerk auf MongoDB zugreifen können sollen, dann verwenden Sie diesen Befehl:

sudo ufw allow 27017

Überprüfen Sie mit diesem Befehl den Status der UFW-Firewall:

sudo ufw status

MongoDB hört standardmäßig auf localhost, um die Datenbank von außen zugänglich zu machen, müssen wir sie neu konfigurieren, um auch auf die Server-IP-Adresse zu hören.

Öffnen Sie die Datei mongod.conf im Nano-Editor:

sudo nano /etc/mongod.conf

und fügen Sie die IP-Adresse des Servers in der Zeile bind_ip wie folgt hinzu:

# network interfaces
net:
 port: 27017
 bindIp: 127.0.0.1,192,168.1.100

Ersetzen Sie 192.168.1.100 durch die IP Ihres Servers und starten Sie MongoDB neu, um die Änderungen zu übernehmen.

sudo service mongod restart

Jetzt können Sie über das Netzwerk auf den MongoDB-Datenbankserver zugreifen.

Abbild der virtuellen Maschine

Dieses Tutorial ist als gebrauchsfertige virtuelle Maschine im OVA / OVF-Format für Howtoforge-Abonnenten verfügbar. Das VM-Format ist kompatibel mit VMWare und Virtualbox und anderen Tools, die das Ei- oder ovf-Format importieren können. Den Download-Link findest du im rechten Menü oben. Klicken Sie auf den Dateinamen, um den Download zu starten.

Die Anmeldedaten der VM lauten:

SSH-Anmeldung

Benutzername:
Administrator-Passwort: howtoforge

Der Administratorbenutzer hat sudo-Berechtigungen.

Bitte ändern Sie die Passwörter nach dem ersten Start.

Die VM ist für die statische IP 192.168.1.100 konfiguriert. Eine Anleitung zum Ändern der statischen IP finden Sie hier.

Fazit

MongoDB ist eine bekannte NoSQL-Datenbank, die eine hohe Performance, hohe Verfügbarkeit und automatische Skalierung bietet. Es unterscheidet sich von RDBMS wie MySQL, PostgreSQL und SQLite dadurch, dass es kein SQL zum Setzen und Abrufen von Daten verwendet. MongoDB speichert Daten in `Dokumenten` namens BSON (binäre Darstellung von JSON mit Zusatzinformationen). MongoDB ist nur für den 64-Bit-Langzeitsupport des Ubuntu-Release verfügbar.

Das könnte dich auch interessieren …