MongoDB auf Ubuntu 20.04 installieren und konfigurieren
MongoDB ist ein quelloffenes und plattformübergreifendes dokumentenorientiertes Datenbanksystem, das in C++ geschrieben wurde. Es speichert Daten in Sammlungen von JSON-ähnlichen, flexiblen Dokumenten. Aufgrund seiner Skalierbarkeit und hohen Leistung wird es oft zur Erstellung moderner Anwendungen verwendet, die leistungsstarke, unternehmenskritische und hochverfügbare Datenbanken erfordern.
In diesem Tutorial werden wir erklären, wie das Datenbanksystem MongoDB auf einem Ubuntu 20.04 Server installiert und verwendet wird.
Voraussetzungen
- Ein Server, auf dem Ubuntu 20.04 läuft.
- Auf Ihrem Server ist ein Root-Passwort konfiguriert.
MongoDB installieren
Standardmäßig ist die neueste Version von MongoDB nicht im Standard-Repository von Ubuntu 20.04 verfügbar. Sie müssen also das offizielle MongoDB-Repository in Ihrem System hinzufügen.
Installieren Sie zunächst das Gnupg-Paket mit dem folgenden Befehl:
apt-get install gnupg -y
Als nächstes laden Sie den MongoDB GPG-Schlüssel herunter und fügen ihn mit dem folgenden Befehl hinzu:
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
Fügen Sie als nächstes das MongoDB-Repository mit dem folgenden Befehl hinzu:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Aktualisieren Sie als nächstes das Repository und installieren Sie die MongoDB mit folgendem Befehl: Sie sollten die folgende Ausgabe sehen
apt-get update -y apt-get install mongodb-org -y
Sobald die Installation abgeschlossen ist, starten Sie den MongoDB-Dienst und aktivieren Sie ihn beim Neustart mit dem folgenden Befehl:
systemctl start mongod systemctl enable mongod
Übereprüfen Sie nun den Status des MongoDB-Dienstes mit dem folgenden Befehl:
systemctl status mongod
Ergebnis:
? mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-05-15 05:30:39 UTC; 18s ago Docs: https://docs.mongodb.org/manual Main PID: 106996 (mongod) Memory: 76.0M CGroup: /system.slice/mongod.service ??106996 /usr/bin/mongod --config /etc/mongod.conf May 15 05:30:39 ubuntu2004 systemd[1]: Started MongoDB Database Server. May 15 05:30:48 ubuntu2004 systemd[1]: /lib/systemd/system/mongod.service:11: PIDFile= references a path below legacy directory /var/run/, upd> lines 1-11/11 (END)
Sie können auch die MongoDB-Version und die Serveradresse mit folgendem Befehl überprüfen:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Sie sollten die folgende Ausgabe erhalten: Sie sollten folgende Ausgabe erhalten:
MongoDB shell version v4.2.6 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e1575445-f441-4b30-a5d7-4cf68852e68f") } MongoDB server version: 4.2.6 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }
MongoDB konfigurieren
Die Standardkonfigurationsdatei von MongoDB befindet sich unter /etc/mongod.conf. Standardmäßig hat jeder Benutzer Zugriff auf alle Datenbanken und kann jede beliebige Aktion ausführen. Für Produktionsumgebungen wird empfohlen, die MongoDB-Authentifizierung zu aktivieren.
Sie können dies tun, indem Sie die Datei /etc/mongod.conf editieren:
nano /etc/mongod.conf
Fügen Sie die folgenden Zeilen hinzu:
security: authorization: enabled
Speichern und schließen Sie die Datei und starten Sie dann den MongoDB-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart mongod
MongoDB Admin-Benutzer erstellen
Nachdem Sie die MongoDB-Authentifizierung aktiviert haben, müssen Sie einen Admin-Benutzer erstellen, um auf die MongoDB-Datenbank zuzugreifen und sie zu verwalten.
Greifen Sie zunächst mit folgendem Befehl auf die MongoDB-Konsole zu:
mongo
Sie sollten die folgende Ausgabe sehen:
MongoDB shell version v4.2.6 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("9ee0ea0c-cf95-4b83-9e88-00dc3a61e0a6") } MongoDB server version: 4.2.6 Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user
Stellen Sie dann mit dem folgenden Befehl eine Verbindung zur Admin-Datenbank her:
> use admin
Sie sollten die folgende Ausgabe erhalten:
switched to db admin
Als nächstes erstellen Sie einen neuen Admin-Benutzer und setzen das Passwort mit folgendem Befehl:
> db.createUser( { user: "admin", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
Dann erhalten Sie:
Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
Als nächstes beenden Sie die MongoDB-Konsole mit dem folgenden Befehl:
> quit()
MongoDB-Authentifizierung verifizieren
An diesem Punkt wird die MongoDB mit Authentifizierung konfiguriert.
Versuchen Sie nun, eine Verbindung zu MongoDB mit dem Benutzer herzustellen, den Sie zuvor erstellt haben:
mongo -u admin -p --authenticationDatabase admin
Sie werden aufgefordert, das Passwort wie unten gezeigt einzugeben:
MongoDB shell version v4.2.6 Enter password:
Geben Sie Ihr Administrator-Passwort ein und drücken Sie Enter. Sie sollten die folgende Ausgabe sehen:
connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("00d6d1eb-d1c3-41ea-89c7-d46ec6d17bee") } MongoDB server version: 4.2.6
Ändern Sie nun die Datenbank auf admin mit dem folgenden Befehl:
> use admin
Sie sollten die folgende Ausgabe sehen:
switched to db admin
Listen Sie nun die Benutzer mit folgendem Befehl auf:
> show users
Dies ergibt die folgende Ausgabe:
{ "_id" : "admin.admin", "userId" : UUID("65907484-9d67-4e6e-bb88-a6666310e963"), "user" : "admin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } >
Schlussfolgerung
In der obigen Anleitung haben Sie gelernt, wie man MongoDB auf einem Ubuntu 20.04 Server installiert und konfiguriert. Für weitere Informationen können Sie die MongoDB-Dokumentation unter Mongo Doc.