MongoDB unter Plesk installieren und einsatzbereit machen
Um MongoDB unter Plesk zu installieren und einsatzbereit zu machen bedienen wir uns der in Plesk integrierten Docker-Umgebung und installieren schlichtweg das mongo image

Bei den Einstellungen sollte ein Speicherlimit gesetzt und der automatische Start aktiviert werden.
Auch sollte das manuelle port mapping aktiviert werden.

Zusätzlich stellen wir noch ein sauberes Volume-Mapping ein. Ich habe habe hier zwei verschiedene Varianten abgebildet, da es wohl bei manchen Installationen zu Abweichungen kommt.

| /data/db | /var/dbdir |
| /data/configdb | /var/configdir |
| /data/configdbhost | /data/configdb |
| /data/dbhost | /data/db |
Die Daten des MongoDB-Server sind somit später im links abgebildeten Verzeichnis des Host-Systems dauerhaft (!) gespeichert – ohne VolumeMapping sind die Daten nach einem Neustart verloren.
Zusätzlich sollte auch noch ein root-Benutzer für den Container angelegt werden in den Umgebungsvariablen:
| MONGO_INITDB_ROOT_USERNAME | root |
| MONGO_INITDB_ROOT_PASSWORD | passwort |
Danach sollte der Container aktiv sein und auf Port 27017 lauschen.
ss -tlpn | grep 27017
Zusätzlich bieten wir das Tool mongosh auf dem Host-System, hierzu müssen wir unter Debian 12 einige Vorbereitungen treffen:
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
apt update
apt install -y mongodb-mongosh
Danach können wir auf unseren MongoDB-Server vom Host aus wie folgt zugreifen:
mongosh "mongodb://root:passwort@localhost:27017/admin"Einen neuen Nutzer mit vollen Admin-Rechten können wir beispielweise mit folgendem Befehl erstellen:
db.createUser({
user: "adminuser",
pwd: "strongpassword123",
roles: [ { role: "root", db: "admin" } ]
})PHP unter Plesk mit MongoDB
Um MongoDB mit PHP under Plesk nutzen zu können sind ebenfalls einige Anpassungen erforderlich unter Tools & Settings ->PHP Settings -> „Auswahl der richtigen PHP-Version“ -> Manage PECL Packages
Nach einem Klick auf „install package“ schreiben wir mongodb als Paketnamen in das Feld und die Installation startet. Danach ist mongodb für PHP nutzbar
Node.js
In Node.js navigieren wir zum Reiter „Run Node.js commands“ und führen
npm install mongodbaus. Die aktuelle Version lässt sich mit
npm list mongodbüberprüfen.
Ein einfaches Testscript für NodeJS wäre
const { MongoClient } = require('mongodb');
async function test() {
const client = new MongoClient('mongodb://localhost:27017');
try {
await client.connect();
console.log('MongoDB connected successfully!');
const dbs = await client.db().admin().listDatabases();
console.log('Databases:', dbs.databases.map(db => db.name).join(', '));
} catch (err) {
console.error('Failed to connect:', err);
} finally {
await client.close();
}
}
test();
Welches später in SSH wie folgt ausgeführt werden kann
node test.jsDarauf sollte eine Verbindungsmeldung gefolgt von Auth-Fehlern erscheinen:
