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.

Das könnte dich auch interessieren …