Files
opencrm/plesktest
..
2026-01-29 01:16:54 +01:00
2026-01-29 01:16:54 +01:00
2026-02-01 00:02:35 +01:00
2026-01-29 01:16:54 +01:00
2026-02-01 00:02:35 +01:00

Plesk Test Server

Docker-basierter Plesk-Testserver für die Entwicklung und das Testen der Email-Provisionierung.

Schnellstart

# Container starten
docker-compose up -d

# Logs anzeigen (erster Start dauert einige Minuten)
docker-compose logs -f

# Nach vollständigem Start: Passwort + API-Key einrichten
./setup-domain.sh

Erster Start dauert 5-10 Minuten - Plesk muss sich initialisieren.

Das setup-domain.sh Skript:

  • Wartet bis Plesk bereit ist (max. 5 Minuten, mit Timeout)
  • Konfiguriert Fail2Ban für Entwicklung (Bantime: 60 Sekunden, max 10 Fehlversuche)
  • Setzt das Admin-Passwort auf plesk1234!
  • Generiert einen API-Key
  • Gibt Anleitung zur manuellen Domain-Erstellung aus

Zugangsdaten

Feld Wert
URL https://localhost:8443
Benutzer admin
Passwort plesk1234!

Domain einrichten (manuell)

Plesk prüft DNS-Einträge und blockiert externe Domains per Default. Die Domain muss daher manuell im Panel erstellt werden:

  1. Plesk Panel öffnen: https://localhost:8443
  2. Login: admin / plesk1234!
  3. Tools & Settings → Security → Prohibited Domain Names
    • Policy auf None setzen
  4. Websites & Domains → Add Domain
  5. Domain: stressfrei-wechseln.de
  6. Mail-Service aktivieren

API-Authentifizierung

Option 1: Benutzername + Passwort

Die einfachste Methode für Tests:

Benutzername: admin
Passwort: plesk1234!

In OpenCRM Email-Provider Einstellungen:

  • API-URL: https://localhost:8443
  • Benutzername: admin
  • Passwort: plesk1234!

Option 2: API-Key (empfohlen für Produktion)

  1. Im Plesk Panel: Tools & Einstellungen → API
  2. Schlüssel hinzufügen
  3. Beschreibung eingeben (z.B. "OpenCRM")
  4. IP-Beschränkung optional
  5. Schlüssel kopieren

In OpenCRM Email-Provider Einstellungen:

  • API-URL: https://localhost:8443
  • API-Key: <generierter-schlüssel>
  • Benutzername/Passwort leer lassen

Authentifizierungs-Priorität in OpenCRM

OpenCRM verwendet entweder API-Key oder Benutzername/Passwort, nicht beides gleichzeitig:

API-Key Benutzername/Passwort Verwendet wird
✅ Vorhanden egal Nur API-Key
❌ Leer ✅ Vorhanden Basic Auth
❌ Leer ❌ Leer Fehler

Warum? Wenn beide angegeben werden und eines davon falsch ist, würde Plesk trotzdem das funktionierende akzeptieren. Das führt zu verwirrenden Situationen beim Verbindungstest.

API-Key per CLI generieren

docker exec -it plesk-test plesk bin secret_key --create -description "OpenCRM" -ip-address ""

Schlüssel anzeigen:

docker exec -it plesk-test plesk bin secret_key --list

API testen

Verbindung testen

# Mit Benutzername/Passwort
curl -k -u admin:plesk1234! \
  "https://localhost:8443/api/v2/server"

# Mit API-Key
curl -k -H "X-API-Key: DEIN_API_KEY" \
  "https://localhost:8443/api/v2/server"

E-Mail-Adresse anlegen (REST API v2)

curl -k -u admin:plesk1234! \
  -X POST "https://localhost:8443/api/v2/cli/mail/call" \
  -H "Content-Type: application/json" \
  -d '{
    "params": [
      "--create", "test@stressfrei-wechseln.de",
      "-forwarding", "true",
      "-forwarding-addresses", "ziel@example.com"
    ]
  }'

E-Mail prüfen ob existiert

curl -k -u admin:plesk1234! \
  "https://localhost:8443/api/v2/cli/mail/call" \
  -H "Content-Type: application/json" \
  -d '{
    "params": ["--info", "test@stressfrei-wechseln.de"]
  }'

Verzeichnisstruktur

plesktest/
├── docker-compose.yml    # Docker Compose Konfiguration
├── setup-domain.sh       # Automatisches Setup-Skript
├── .gitignore            # Git-Ignores für Daten
├── README.md             # Diese Datei
└── plesk-data/           # Persistente Plesk-Daten (nicht in Git)

Befehle

# Starten
docker-compose up -d

# Stoppen
docker-compose down

# Stoppen + Daten löschen (Neustart)
docker-compose down -v
rm -rf plesk-data/*

# Logs anzeigen
docker-compose logs -f

# Shell im Container
docker exec -it plesk-test bash

# Plesk CLI
docker exec -it plesk-test plesk bin --help

Bekannte Einschränkungen

  • Selbstsigniertes Zertifikat: Browser zeigt Sicherheitswarnung
  • Keine echte Domain: DNS funktioniert nicht, nur für API-Tests geeignet
  • Ressourcen: Plesk benötigt ca. 2-4 GB RAM
  • Erster Start: Initialisierung dauert mehrere Minuten

Fehlerbehebung

Container startet nicht

# Prüfen ob Port belegt
lsof -i :8443

# Container-Status
docker-compose ps

# Detaillierte Logs
docker-compose logs plesk

API antwortet nicht

  1. Warten bis Plesk vollständig gestartet ist (Logs beobachten)
  2. HTTPS mit -k Flag für selbstsigniertes Zertifikat
  3. Firewall/Netzwerk prüfen

Domain anlegen schlägt fehl

Im Docker-Container funktionieren einige Plesk-Features eingeschränkt. Für reine API-Tests der Email-Funktionen reicht das Setup aus.

API-Anfragen werden nach mehreren Tests blockiert (Fail2Ban)

Das Setup-Script konfiguriert Fail2Ban mit kurzer Bantime (60 Sekunden). Falls du trotzdem geblockt wirst:

# Aktuell gebannte IPs anzeigen
docker exec plesk-test fail2ban-client status plesk-panel

# Alle IPs entbannen
docker exec plesk-test fail2ban-client unban --all

# Fail2Ban komplett deaktivieren (nur für Tests!)
docker exec plesk-test systemctl stop fail2ban