MongoDB ist eine universelle, dokumentbasierte und verteilte Open-Source-Datenbank, die für moderne Anwendungsentwickler entwickelt wurde. Sie wird auch als NoSQL-Datenbank bezeichnet, da sie nicht auf einer traditionellen tabellenbasierten relationalen Datenbankstruktur basiert. Es speichert Daten im JSON-Format anstelle der Tabellenstilmethode. Es kann problemlos in verschiedene Programmiersprachen integriert werden. Es wird von vielen bekannten Unternehmen verwendet, darunter Facebook, Cisco, Forbes, Adobe, Nokia usw.
In diesem Beitrag zeigen wir Ihnen, wie Sie die MongoDB NoSQL-Datenbank unter Debian 11 installieren und sichern.
Voraussetzungen
- Ein Server mit Debian 11.
- Auf dem Server ist ein Root-Passwort konfiguriert.
MongoDB-Repository hinzufügen
Standardmäßig ist das MongoDB-Paket nicht im Standard-Repository von Debian 11 enthalten. Sie müssen also das offizielle MongoDB-Repository zum APT hinzufügen.
Installieren Sie zunächst die erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install curl apt-transport-https software-properties-common gnupg2 -y
Sobald alle Abhängigkeiten installiert sind, laden Sie den GPG-Schlüssel herunter und fügen Sie ihn mit dem folgenden Befehl hinzu:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
Fügen Sie als Nächstes das MongoDB-Repository mit dem folgenden Befehl zur APT-Quellenlistendatei hinzu:
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org.list
Aktualisieren Sie als Nächstes das Repository und installieren Sie den MongoDB-Server mit dem folgenden Befehl:
apt-get update -y
apt-get install mongodb-org -y
Starten Sie nach der erfolgreichen Installation den MongoDB-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten:
systemctl start mongod
systemctl enable mongod
Überprüfen Sie als Nächstes die MongoDB-Version mit dem folgenden Befehl:
mongod --version
Sie sollten die folgende Ausgabe erhalten:
db version v4.4.9 Build Info: { "version": "4.4.9", "gitVersion": "b4048e19814bfebac717cf5a880076aa69aba481", "openSSLVersion": "OpenSSL 1.1.1k 25 Mar 2021", "modules": [], "allocator": "tcmalloc", "environment": { "distmod": "debian10", "distarch": "x86_64", "target_arch": "x86_64" } }
MongoDB-Authentifizierung aktivieren
Standardmäßig ist die Authentifizierung in MongoDB nicht aktiviert. Aus Sicherheitsgründen wird empfohlen, die MongoDB-Authentifizierung zu aktivieren.
Dazu müssen Sie einen administrativen Benutzer für MongoDB erstellen.
Stellen Sie zunächst mit dem folgenden Befehl eine Verbindung zur MongoDB-Shell her:
mongo
Sobald Sie verbunden sind, erstellen Sie mit dem folgenden Befehl eine Datenbank namens admin:
> use admin
Erstellen Sie als Nächstes einen Admin-Benutzer und legen Sie ein Passwort fest:
> db.createUser(
{
user: "madmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Sie sollten die folgende Ausgabe sehen:
Successfully added user: { "user" : "madmin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
Drücken Sie als Nächstes STRG+D, um die MongoDB-Shell zu verlassen. Bearbeiten Sie dann die MongoDB-Konfigurationsdatei mit dem folgenden Befehl:
nano /etc/mongod.conf
Fügen Sie die folgenden Zeilen hinzu, um die Authentifizierung zu aktivieren:
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-Verbindung überprüfen
An diesem Punkt ist die MongoDB-Authentifizierung aktiviert. Führen Sie nun den folgenden Befehl aus, um die MongoDB-Shell mit dem Benutzernamen und dem Kennwort zu verbinden:
mongo -u madmin -p
Nach erfolgreicher Authentifizierung erhalten Sie folgende Ausgabe:
MongoDB shell version v4.4.9 Enter password: connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("8366d28f-55d3-4471-bd94-331329828181") } MongoDB server version: 4.4.9 >
Als nächstes ändern Sie die Datenbank auf admin und listen alle Benutzer mit dem folgenden Befehl auf:
> use admin
> show users
Sie sollten die folgende Ausgabe erhalten:
{ "_id" : "admin.madmin", "userId" : UUID("26dd5225-7bb6-4a57-96a0-7efc4e1a98ba"), "user" : "madmin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }
MongoDB deinstallieren
Wenn Sie MongoDB in Ihrem System nicht benötigen, können Sie es von Ihrem System deinstallieren.
Stoppen Sie zuerst den MongoDB-Dienst mit dem folgenden Befehl:
systemctl stop mongod
Entfernen Sie als Nächstes das MongoDB-Paket, indem Sie den folgenden Befehl ausführen:
apt-get remove mongodb-org --purge
Entfernen Sie als Nächstes die MongoDB-Protokolle und Datenverzeichnisse, indem Sie den folgenden Befehl ausführen:
rm -rf /var/lib/mongodb
Schlussfolgerung
Herzliche Glückwünsche! Sie haben MongoDB erfolgreich auf Debian 11 installiert und gesichert. Sie können MongoDB jetzt mit Ihren Webanwendungen verwenden. Weitere Informationen finden Sie in der offiziellen Dokumentation von MongoDB.