Die Verwaltung von MongoDB auf einem Linux-VPS umfasst Installation, Konfiguration, Sicherheit und Leistungsoptimierung.

1. Installation von MongoDB auf einem Linux VPS

MongoDB kann mit Paketmanagern wie apt (für Debian/Ubuntu) oder yum (für CentOS/RHEL) installiert werden.

Für Ubuntu/Debian

  1. Aktualisieren Sie die Paketliste:
    sudo apt update
    sudo apt upgrade -y
  2. MongoDB GPG-Schlüssel importieren:
    curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-keyring.gpg

    **Führen Sie den folgenden Befehl aus, um den fehlenden öffentlichen Schlüssel hinzuzufügen:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B00A0BD1E2C63C11
    oder

    **Führen Sie diesen Befehl aus, um den Schlüssel manuell zu importieren:

    wget -qO - https://pgp.mongodb.com/server-5.0.asc | sudo tee /etc/apt/trusted.gpg.d/mongodb-server-5.0.

    Prüfen Sie, ob der Schlüssel erfolgreich hinzugefügt wurde:

    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/mongodb-server
  3. Fügen Sie das MongoDB-Repository hinzu:
    Ubuntu:
    echo "deb [signed-by=/usr/share/keyrings/mongodb-server-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
    Debian:
    echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-server-5.0.asc] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  4. Installieren Sie MongoDB:
    sudo apt update
    sudo apt install -y mongodb-org
  5. Starten und Aktivieren von MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod

Für CentOS/RHEL

  1. Fügen Sie das MongoDB-Repository hinzu:
    sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo <<EOF
    [mongodb-org-6.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
    EOF

  2. MongoDB installieren:
    sudo yum install -y mongodb-org
  3. Starten und Aktivieren von MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod

2. MongoDB absichern

Standardmäßig lauscht MongoDB auf localhost (127.0.0.1). Um es zu sichern:

Aktivieren Sie die Authentifizierung

  1. Erstellen Sie einen Admin-Benutzer:
    mongosh
    use admin
    db.createUser({
    user: "admin",
    pwd: "StrongPassword",
    roles: [{ role: "root", db: "admin" }]
    })
  2. Aktivieren Sie die Authentifizierung in der MongoDB-Konfigurationsdatei:
    sudo nano /etc/mongod.conf

    Suchen Sie den Abschnitt security und fügen Sie hinzu:

    security:
    authorization: enabled
  3. Starten Sie MongoDB neu:
    sudo systemctl restart mongod

Externen Zugriff einschränken

  1. Ändern Sie MongoDB so, dass es nur auf localhost hört:
    sudo nano /etc/mongod.conf

    Ändern:

    bindIp: 127. 0.0.1
  2. Verwenden Sie UFW (Ubuntu) oder FirewallD (CentOS), um nur bestimmte IPs zuzulassen:
    sudo ufw allow from YOUR_IP to any port 27017

3. MongoDB verwalten

Status des MongoDB-Dienstes prüfen

sudo systemctl status mongod

MongoDB neu starten

sudo systemctl restart mongod

MongoDB anhalten

sudo systemctl stop mongod

Aktivieren von MongoDB zum Starten beim Booten

sudo systemctl enable mongod

4. Datenbanken in MongoDB verwalten

Verbindung zu MongoDB herstellen

mongosh

Eine Datenbank erstellen

use mydatabase

Datenbanken anzeigen

show dbs

Eine Sammlung erstellen

db.createCollection("users")

Daten einfügen

db.users.insertOne({ Name: "John Doe", Alter: 30, E-Mail: "john@example.com" })

Daten suchen

db.users.find()

Eine Datenbank löschen

use mydatabase
db.dropDatabase()

5. Sichern und Wiederherstellen

Sicherung der MongoDB-Datenbank

mongodump --db=mydatabase --out=/backup/

MongoDB-Datenbank wiederherstellen

mongorestore --db=mydatabase /backup/mydatabase/

6. Optimierung der Leistung

Indizierung für schnellere Abfragen

db.users.createIndex({ email: 1 })

Überwachung der Leistung

db.serverStatus()

Speichernutzung begrenzen

Ändern Sie wiredTigerCacheSizeGB in /etc/mongod.conf:

storage:
wiredTiger:
engineConfig:
cacheSizeGB: 1

Verbindungspooling verwenden

Ändern Sie /etc/mongod.conf:

net:
maxIncomingConnections: 1000

7. Logs und Fehlersuche

MongoDB-Protokolle anzeigen

sudo journalctl -u mongod --no-pager | tail -n 50

Fehlerprotokolle prüfen

sudo cat /var/log/mongodb/mongod.log

8. MongoDB deinstallieren (falls erforderlich)

Für Ubuntu/Debian

sudo systemctl stop mongod
sudo apt purge -y mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongodb

Für CentOS/RHEL

sudo systemctl stop mongod
sudo yum remove -y mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongodb

Schlussfolgerung

Die Verwaltung von MongoDB auf einem Linux-VPS erfordert eine ordnungsgemäße Installation, Sicherheitshärtung und Leistungsoptimierung. Wenn Sie diese Schritte befolgen, können Sie sicherstellen, dass Ihre MongoDB-Datenbank effizient und sicher läuft. 🚀

Benötigen Sie Hilfe bei Automatisierungsskripten für die Verwaltung von MongoDB? 😊