MongoDB auf Rocky Linux 9 installieren

MongoDB ist eine kostenfreie, quelloffene NoSQL-Datenbank, die Informationen in einem flexiblen, JSON-ähnlichen Format speichert. Dank ihres schemalosen Aufbaus können unstrukturierte Daten und Dokumente mit variabler Struktur gespeichert werden – und dennoch sind umfassende Indizierung, spontane Abfragen und Hochverfügbarkeit über Replikationssets möglich.

Diese Anleitung zeigt dir Schritt für Schritt, wie du MongoDB auf einem Rocky Linux 9 Server installierst, absicherst und durch das Erstellen von Beispieldaten die Funktionalität überprüfst.

Systemvoraussetzungen

Stelle sicher, dass folgende Voraussetzungen erfüllt sind:

  • Ein funktionierender Server mit Rocky Linux 9.
  • Zugriff über SSH als nicht-root Benutzer mit sudo-Rechten.
  • Aktualisierte Systempakete.

Installation von MongoDB unter Rocky Linux 9

Da MongoDB nicht in den Standard-Repositories von Rocky Linux 9 enthalten ist, muss das passende Repository manuell hinzugefügt und MongoDB über DNF installiert werden.

Besuche zuerst die offizielle MongoDB-Release-Seite, um die aktuellste Version zu prüfen. Im Beispiel wird Version 8.0 verwendet.

Lege die Konfigurationsdatei für das MongoDB-Repository an:

$ sudo nano /etc/yum.repos.d/mongodb-org-8.0.repo

Füge folgende Inhalte in die Datei ein:

[mongodb-org-8.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-8.0.asc

Speichere die Datei und aktualisiere den Paketindex:

Installiere anschließend MongoDB:

$ sudo dnf -y install mongodb-org

Ersetze das Standardpaket für die MongoDB-Shell durch die Variante mit OpenSSL 3-Unterstützung:

$ sudo dnf -y swap mongodb-mongosh mongodb-mongosh-shared-openssl3

Da Rocky Linux 9 standardmäßig OpenSSL 3 verwendet, sorgt dieser Austausch für die nötige Kompatibilität zwischen MongoDB und der Systembibliothek.

MongoDB mit Systemd verwalten

MongoDB wird über den systemd-Dienst mongod gesteuert. Mit den folgenden Befehlen richtest du den automatischen Start ein und überprüfst den aktuellen Status:

Automatischen Start beim Booten aktivieren:

$ sudo systemctl enable mongod

Datenbankdienst starten:

$ sudo systemctl start mongod

Status von MongoDB prüfen:

$ sudo systemctl status mongod

Beispielausgabe:

● mongod.service - MongoDB Database Server
  Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
  Active: active (running)
    Docs: https://docs.mongodb.org/manual
 Main PID: 6919 (mongod)
  Memory: 149.8M
  CGroup: /system.slice/mongod.service
          └─6919 /usr/bin/mongod --config /etc/mongod.conf

MongoDB mit Benutzer-Authentifizierung absichern

Standardmäßig erzwingt MongoDB keine Authentifizierung. Um den Zugriff auf die Datenbank abzusichern, aktivierst du die passwortbasierte Anmeldung mit den folgenden Schritten.

Starte zunächst die MongoDB-Shell:

Wechsle zur admin-Datenbank:

Erstelle einen neuen Benutzer mit administrativen Rechten:

> db.createUser( 
 {
   user: "mongodbadmin",
   pwd: passwordPrompt(),
   roles: [ 
    { role: "userAdminAnyDatabase", db: "admin" },
    { role: "readWriteAnyDatabase", db: "admin" },
    { role: "dbAdminAnyDatabase", db: "admin" }
   ]    
 }
)

Die erfolgreiche Erstellung wird mit folgender Ausgabe bestätigt:

Enter password
***{ ok: 1 }

Zeige alle angelegten Benutzerkonten an, um die Erstellung zu überprüfen:

Die Ausgabe sollte wie folgt aussehen:

{
  users: [
    {
      _id: 'admin.mongodbadmin',
      userId: UUID('93f37099-85f9-4b6e-a072-09c2b1045462'),
      user: 'mongodbadmin',
      db: 'admin',
      roles: [
        { role: 'dbAdminAnyDatabase', db: 'admin' },
        { role: 'userAdminAnyDatabase', db: 'admin' },
        { role: 'readWriteAnyDatabase', db: 'admin' }
      ],
      mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
    }
  ],
  ok: 1
}

Beende die MongoDB-Sitzung mit folgendem Befehl:

Bearbeite nun die MongoDB-Konfigurationsdatei, um die Authentifizierung zu aktivieren:

$ sudo nano /etc/mongod.conf

Füge am Ende der Datei folgende Konfiguration ein:

security:
    authorization: enabled

Starte abschließend den MongoDB-Dienst neu, damit die Änderungen wirksam werden:

$ sudo systemctl restart mongod

Zugriff auf MongoDB und Verwaltung von Datenbanken

Nutze die folgenden Schritte, um dich über die MongoDB-Shell anzumelden, Benutzerkonten anzulegen, Datenbanken zu erstellen und Daten einzufügen.

Melde dich mit dem zuvor eingerichteten Administrator-Benutzer an der MongoDB-Shell an:

$ mongosh -u mongodbadmin -p --authenticationDatabase admin

Gib anschließend das Passwort für den Benutzer mongodbadmin ein, wenn du dazu aufgefordert wirst.

Erstelle nun eine neue Datenbank mit dem Namen centron_test:

Lege in dieser Datenbank einen neuen Benutzer wie testuser mit vollständigen Zugriffsrechten an:

> db.createUser(
  {
   user: "testuser",
   pwd: passwordPrompt(),
   roles: [ { role: "readWrite", db: "centron_test" } ]
  }
)

Wenn du zur Eingabe eines Passworts aufgefordert wirst, verwende ein sicheres Kennwort. Die erfolgreiche Erstellung wird wie folgt bestätigt:

Enter password:
********{ ok: 1 }

Beende die aktuelle MongoDB-Sitzung:

Verwendung des neuen Benutzers und Einfügen von Daten

Verbinde dich nun als testuser mit der MongoDB-Shell. Du wirst zur Eingabe des Benutzerpassworts aufgefordert:

$ mongosh -u testuser -p --authenticationDatabase centron_test

Wechsle zur Ziel-Datenbank:

Füge in einer neuen Collection messages ein Dokument mit der Nachricht Greetings ein:

> db.messages.insertOne({message: "Greetings" })

Die erfolgreiche Speicherung wird mit folgender Ausgabe bestätigt:

{
  acknowledged: true,
  insertedId: ObjectId('67750a2667bb6ae4a4fad9e0')
}

Zeige alle Einträge in der Collection messages an, um den Datensatz zu überprüfen:

Die Ausgabe sollte wie folgt aussehen:

[
  {
    _id: ObjectId('67750a2667bb6ae4a4fad9e0'),
    message: 'Greetings'
  }
]

Beende die MongoDB-Sitzung mit folgendem Befehl:

Fazit

Du hast MongoDB erfolgreich unter Rocky Linux 9 installiert und die Funktionsweise durch das Erstellen einer Datenbank, eines Benutzers und eines Testeintrags geprüft. Mit seiner flexiblen Struktur eignet sich MongoDB hervorragend zur Verwaltung von Collections, Benutzerrechten und umfangreichen unstrukturierten Daten. Weitere Optionen zur Konfiguration findest du in der offiziellen MongoDB-Dokumentation.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren: