Wie man die NoSQL-Datenbank MongoDB unter Ubuntu 22.04 installiert und sichert

MongoDB ist ein freies, quelloffenes und eines der beliebtesten NoSQL-Datenbanksysteme. MongoDB speichert Daten in JSON und nicht, wie in SQL-Datenbanken üblich, in Tabellenform. Sie lässt sich leicht in andere Programme integrieren und wird daher häufig in Webanwendungen eingesetzt. Sie benötigt kein vordefiniertes Schema, und die Datenstruktur kann im Laufe der Zeit geändert werden. Sie ist in C++ geschrieben und bietet Skalierbarkeit, hohe Leistung und hohe Verfügbarkeit.

In diesem Lernprogramm zeigen wir dir, wie du MongoDB auf Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

MongoDB-Repository hinzufügen

Standardmäßig ist das MongoDB-Paket nicht im Standard-Repository von Ubuntu 22.04 enthalten. Daher musst du das offizielle MongoDB-Repository zum APT hinzufügen.

Installiere zunächst alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:

apt install wget gnupg2 curl -y

Als Nächstes lädst du den MongoDB GPG-Schlüssel herunter und fügst ihn mit dem folgenden Befehl hinzu:

curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -

Anschließend fügst du das MongoDB-Repository mit folgendem Befehl zum APT hinzu:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Sobald das MongoDB-Repository hinzugefügt ist, aktualisiere den Repository-Cache mit folgendem Befehl:

apt update -y

MongoDB auf Ubuntu 22.04 installieren

Jetzt kannst du das MongoDB-Paket mit dem folgenden Befehl installieren:

apt install mongodb-org -y

Starte als Nächstes den MongoDB-Dienst und aktiviere ihn mit folgendem Befehl, damit er beim Neustart des Systems gestartet wird:

systemctl start mongod

Du kannst den Status von MongoDB mit folgendem Befehl überprüfen:

systemctl status mongod

Du solltest die folgende Ausgabe sehen:

? mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-05-28 15:04:49 UTC; 7s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 27422 (mongod)
     Memory: 63.3M
        CPU: 967ms
     CGroup: /system.slice/mongod.service
             ??27422 /usr/bin/mongod --config /etc/mongod.conf

May 28 15:04:49 ubuntu2204 systemd[1]: Started MongoDB Database Server.

Um die MongoDB-Version zu überprüfen, verwende den folgenden Befehl:

mongo --version

Du solltest die MongoDB-Version in der folgenden Ausgabe sehen:

MongoDB shell version v4.4.14
Build Info: {
    "version": "4.4.14",
    "gitVersion": "0b0843af97c3ec9d2c0995152d96d2aad725aab7",
    "openSSLVersion": "OpenSSL 1.1.1l  24 Aug 2021",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "ubuntu2004",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

Du kannst auch die MongoDB-Verbindungsinformationen mit dem folgenden Befehl überprüfen:

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

Du solltest die folgende Ausgabe erhalten:

MongoDB shell version v4.4.14
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("44560246-9673-418a-95c9-112bba345f4f") }
MongoDB server version: 4.4.14
{
	"authInfo" : {
		"authenticatedUsers" : [ ],
		"authenticatedUserRoles" : [ ]
	},
	"ok" : 1
}

MongoDB-Admin-Benutzer anlegen

Standardmäßig kann auf MongoDB ohne Benutzernamen und Passwort zugegriffen werden. Aus Sicherheitsgründen empfiehlt es sich, einen Admin-Benutzer anzulegen, um MongoDB zu authentifizieren.

Melde dich zunächst mit folgendem Befehl in der MongoDB-Shell an:

mongo

Sobald du eingeloggt bist, änderst du die Datenbank mit folgendem Befehl in admin:

use admin

Als Nächstes erstellst du mit dem folgenden Befehl einen Benutzer admin und legst ein Passwort fest:

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

Du solltest die folgende Ausgabe sehen:

Successfully added user: {
	"user" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

Als nächstes bearbeitest du die MongoDB-Konfigurationsdatei und aktivierst die MongoDB-Authentifizierung. Das kannst du tun, indem du die MongoDB-Konfigurationsdatei bearbeitest:

nano /etc/mongod.conf

Füge die folgende Zeile hinzu, um die MongoDB-Authentifizierung zu aktivieren:

security:
  authorization: enabled

Speichere und schließe die Datei und starte den MongoDB-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart mongod

Überprüfen der MongoDB-Authentifizierung

Jetzt kannst du die MongoDB-Authentifizierung mit folgendem Befehl überprüfen:

mongo -u admin -p --authenticationDatabase admin

Du wirst aufgefordert, ein MongoDB-Admin-Passwort anzugeben:

MongoDB shell version v4.4.14
Enter password: 

Gib dein Admin-Passwort ein und drücke die Eingabetaste. Du solltest die folgende Ausgabe sehen:

connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("05106893-c382-4895-a55b-7560858b31eb") }
MongoDB server version: 4.4.14
> 

Um alle MongoDB-Datenbanken aufzulisten, führe den folgenden Befehl aus:

> show dbs

Du solltest die folgende Ausgabe sehen:

admin   0.000GB
config  0.000GB
local   0.000GB

Schlussfolgerung

Glückwunsch! Du hast MongoDB erfolgreich auf Ubuntu 22.04 installiert. Jetzt kannst du MongoDB als Datenbank-Backend für eine leistungsstarke Webanwendung nutzen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …