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.