Wie man eine MongoDB-Instanz auf einem VPS erstellt
Wie man eine MongoDB-Instanz auf einem VPS erstellt
Die Bereitstellung von MongoDB auf einem Virtual Private Server (VPS) gibt Ihnen die vollständige Kontrolle über Ihre Datenbankinfrastruktur – ideal für Entwickler, Startups und Unternehmen, die Wert auf Leistung, Flexibilität und Datenhoheit legen. Dieser Leitfaden führt Sie durch die fortgeschrittenen Schritte zur Installation, Konfiguration, Sicherung und Optimierung von MongoDB auf einem VPS.
🛠️ Schritt 1: Aktualisieren Sie Ihr System
sudo apt update && sudo apt upgrade -yStellen Sie Ihren Hostnamen und die Zeitzone ein:
hostnamectl set-hostname mongodb-server
timedatectl set-timezone UTC📦 Schritt 2: MongoDB installieren
1. MongoDB GPG-Schlüssel importieren
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-6.0.gpg2. Hinzufügen des MongoDB-Repositorys
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.listHinweis: Ersetzen Sie focal durch jammy oder Ihre Version, wenn Sie Ubuntu 22.04 verwenden.
3. MongoDB installieren
sudo apt updatesudo apt install -y mongodb-org🧪 Schritt 3: MongoDB starten und aktivieren
sudo systemctl start mongodsudo systemctl enable mongodPrüfen Sie den Status:
sudo systemctl status mongod🔐 Schritt 4: Sichern Sie Ihren MongoDB-Server
Standardmäßig bindet sich MongoDB an 127.0.0.1. Wenn Sie Fernzugriff wünschen:
1. Bearbeiten Sie die Config
sudo nano /etc/mongod.confFinde die bindIp Zeile unter net: und ändere sie:
bindIp: 127. 0.0.1,0.0.0.02. Aktivieren Sie die Authentifizierung
Fügen Sie unter dem Abschnitt security::
security:
authorization: enabledStarten Sie MongoDB neu:
sudo systemctl restart mongod👤 Schritt 5: Admin-Benutzer anlegen
Rufen Sie die MongoDB-Shell auf:
mongoshErstellen Sie einen Admin-Benutzer:
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword123!",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})Beenden Sie mit exit, dann testen Sie die Anmeldung:
mongosh -u admin -p --authenticationDatabase admin🛡️ Schritt 6: Härten Sie den VPS und MongoDB
1. UFW-Firewall
sudo ufw erlauben OpenSSH
sudo ufw erlauben 27017/tcp
sudo ufw enableFür den Fernzugriff von einer einzigen IP:
sudo ufw allow from YOUR.IP.ADDRESS to any port 270172. Fail2Ban (SSH-Schutz)
sudo apt install fail2ban -ysudo systemctl enable fail2ban⚙️ Schritt 7: Erweiterte Optimierung (optional)
1. Replikatsatz für Hochverfügbarkeit
Ändern Sie /etc/mongod.conf:
replication:
replSetName: "rs0"Initialisieren:
mongosh
rs.initiate()2. Backup-Strategie
Verwenden Sie mongodump für Backups:
mongodump --out /var/backups/mongodb/$(Datum %F)Automatisieren Sie mit cron:
crontab -e
# Täglich um 2 Uhr morgens
0 2 * * * /usr/bin/mongodump --out /var/backups/mongodb/$(Datum \%F)3. TLS/SSL für verschlüsselte Verbindungen verwenden
Erzeugen Sie Zertifikate und konfigurieren Sie den Abschnitt net.ssl in mongod.conf. Dies erfordert weitere Einstellungen und eine vertrauenswürdige Zertifizierungsstelle (CA).
🧪 Schritt 8: Testen Sie Ihren Einsatz
Sie können die Fernkonnektivität testen:
mongosh "mongodb://admin:StrongPassword123!@Ihre-server-ip:27017/admin"Ersetzen Sie Ihre-server-ip durch Ihre VPS-IP oder Ihren Domainnamen.
📊 Schritt 9: Überwachen Sie Ihre MongoDB
Ziehen Sie Tools wie:
MongoDB Atlas Monitoring Agent (optional)
Prometheus Grafana mit Exportern
Benutzerdefinierte Alarmierung mit Cron und Logwatch
Sie können die Logs auch direkt beobachten:
sudo tail -f /var/log/mongodb/mongod.log✅ Abschließende Checkliste
MongoDB ist installiert und läuft
Fernzugriff gesichert
Administrator-Authentifizierung erzwungen
Firewall konfiguriert
Backups eingerichtet
Optionale Überwachung aktiviert
🧩 Schlussfolgerung
Der Betrieb von MongoDB auf einem VPS bietet Ihnen eine unübertroffene Flexibilität, erfordert jedoch eine sorgfältige Beachtung von Sicherheit, Backups und Leistung. Wenn Sie diese Anleitung befolgen, haben Sie eine sichere und produktionsbereite MongoDB-Instanz erstellt, die bereit ist, mit dem Wachstum Ihrer Anwendung zu wachsen.


