Zum Inhalt

Website-Verwaltung (Sites)

Die Website-Verwaltung ermöglicht die vollständige Konfiguration von Websites, einschließlich PHP-Einstellungen, Nginx-Direktiven, Preview-Domains, Zugriffsbeschränkungen und Deployment-Optionen.


Übersicht

Die Site-Tabelle zeigt alle konfigurierten Websites mit Thumbnail-Vorschau, Status und Konfigurationsdetails.

Angezeigte Spalten

Spalte Beschreibung
Vorschau Thumbnail-Bild der Website
Domain Primäre Domain der Website
Kunde Zugeordneter Kunde
Linux-Benutzer System-Benutzername
PHP-Version Aktive PHP-Version
Status Aktiv oder Deaktiviert
Document Root Pfad zum Web-Verzeichnis

Website erstellen

  1. Klicken Sie auf Website erstellen
  2. Füllen Sie das Formular aus:
Feld Pflicht Beschreibung
Abonnement Ja Zugehöriges Hosting-Abonnement
Domain Ja Domain der neuen Website
PHP-Version Ja PHP-Version (z. B. 8.1, 8.2, 8.3, 8.4)
Document Root Nein Unterverzeichnis (Standard: Domain-Root)
  1. Klicken Sie auf Erstellen

Das System konfiguriert automatisch:

  • Nginx-Vhost mit Sicherheitsrichtlinien
  • PHP-FPM-Pool unter dem Linux-Benutzer
  • SSL-Zertifikat via Let's Encrypt (falls aktiviert)
  • open_basedir-Beschränkung
  • Upload-Verzeichnis-Schutz (PHP-Execution blockiert)

Website bearbeiten

Klicken Sie auf den Bearbeiten-Button (Stift-Icon) einer Website, um die Konfiguration zu öffnen.

Tab: Allgemein

Feld Beschreibung
Domain Primäre Domain der Website (änderbar)
PHP-Version PHP-Version wechseln
PHP-Handler FPM oder CGI
Document Root Web-Verzeichnis anpassen
Status Website aktivieren/deaktivieren

Domain ändern

Die primäre Domain einer Website kann direkt im Bearbeitungs-Modal geändert werden.

Vorgehensweise

  1. Öffnen Sie Webseiten und klicken Sie auf den Bearbeiten-Button der gewünschten Website
  2. Ändern Sie das Domain-Feld auf die neue Domain
  3. Klicken Sie auf Speichern

Was automatisch passiert

Schritt Beschreibung
Nginx-Vhost Alter Vhost wird entfernt, neuer mit der neuen Domain erstellt
WordPress-URLs Falls WordPress installiert ist, werden siteurl und home automatisch per Search-Replace aktualisiert (alle Tabellen)
Panel-Datenbank Domain in sites, wordpress_installations und domains Tabelle wird aktualisiert
PHP-FPM Pool bleibt unverändert (gleicher Linux-Benutzer)
Dateien Alle Dateien bleiben am gleichen Ort — nur die Domain-Zuordnung ändert sich

Validierung

  • Die neue Domain muss ein gültiges Format haben (z. B. example.com, shop.mein-hosting.de)
  • Die Domain darf nicht bereits von einer anderen Website verwendet werden
  • Die Änderung ist sofort wirksam — kein Neustart nötig

Nach der Domain-Änderung

  • SSL muss für die neue Domain manuell aktiviert werden (unter Domains → SSL aktivieren)
  • DNS muss auf den Server zeigen, bevor SSL beantragt werden kann
  • Bestehende Domain-Aliase und Subdomains bleiben erhalten

Hinweis

Stellen Sie sicher, dass der DNS-A-Record der neuen Domain auf die IP-Adresse des Servers zeigt, bevor Sie SSL aktivieren. Andernfalls schlägt die Zertifikatserstellung fehl.

Tab: PHP-Konfiguration

Hier können PHP-Einstellungen pro Website angepasst werden:

Einstellung Beschreibung
memory_limit Maximaler Arbeitsspeicher pro PHP-Prozess
max_execution_time Maximale Ausführungszeit in Sekunden
max_input_time Maximale Eingabezeit
post_max_size Maximale POST-Größe
upload_max_filesize Maximale Upload-Dateigröße
max_input_vars Maximale Anzahl Eingabevariablen
max_file_uploads Maximale Anzahl gleichzeitiger Uploads
display_errors Fehleranzeige (nur für Entwicklung!)
error_reporting Fehler-Reporting-Level
session.gc_maxlifetime Session-Lebensdauer
opcache.enable OPcache aktivieren
open_basedir Pfadbeschränkung
disable_functions Deaktivierte PHP-Funktionen

disable_functions

Die Standard-Sicherheitseinstellungen deaktivieren gefährliche Funktionen wie exec, passthru, shell_exec, system, popen und proc_open. Ändern Sie diese nur, wenn Sie die Sicherheitsauswirkungen verstehen.

Tab: Nginx-Direktiven

Eigene Nginx-Konfigurationsanweisungen können im Textfeld hinzugefügt werden. Diese werden in den server-Block der Vhost-Konfiguration eingefügt.

Beispiele:

# Zusätzliche Header
add_header X-Frame-Options "SAMEORIGIN";

# Umleitungsregel
location /old-page {
    return 301 /new-page;
}

Syntax-Prüfung

Das System validiert die Nginx-Konfiguration vor dem Speichern. Bei Syntaxfehlern wird die Änderung abgelehnt.

Tab: Performance & Sicherheit

Web Application Firewall (ModSecurity)

Die WAF kann pro Website aktiviert werden. Sie nutzt ModSecurity mit dem OWASP Core Rule Set (CRS):

  1. Öffnen Sie die Website-Details
  2. Navigieren Sie zum Tab Performance & Sicherheit
  3. Scrollen Sie zur Sektion Web Application Firewall (ModSecurity)
  4. Aktivieren Sie den Schalter ModSecurity WAF aktivieren
  5. Klicken Sie auf Speichern

Was wird geschützt?

Die WAF schützt gegen SQL-Injection, XSS (Cross-Site Scripting), Remote File Inclusion und viele weitere OWASP Top-10-Angriffe.

False Positives

Bei manchen Webanwendungen kann die WAF legitime Anfragen blockieren (False Positives). Deaktivieren Sie die WAF, wenn die Anwendung nach der Aktivierung nicht mehr korrekt funktioniert.

Voraussetzung: Das Paket libnginx-mod-http-modsecurity und modsecurity-crs müssen auf dem Server installiert sein. Bei Neuinstallationen wird dies automatisch eingerichtet.

Tab: Preview-Domain

Jede Website erhält eine Vorschau-URL, über die die Website erreichbar ist, bevor die DNS-Einstellungen der eigentlichen Domain konfiguriert sind.

  • Format: <subdomain>.preview.<panel-domain>
  • Kann aktiviert oder deaktiviert werden
  • Nützlich für die Entwicklung und Migration

Tab: Zugriffsbeschränkungen

  • IP-Beschränkung: Zugriff nur von bestimmten IP-Adressen erlauben
  • Passwortschutz: Verzeichnisse per HTTP-Authentifizierung schützen

Tab: Logs

Zugriff auf die letzten Einträge der Website-Logs:

  • Access-Log — Zugriffsprotokolle
  • Error-Log — Fehlerprotokolle

Die Logs können direkt im Browser eingesehen oder heruntergeladen werden.


Website aktivieren / deaktivieren

  • Klicken Sie auf den Status-Schalter in der Detailansicht
  • Deaktivierte Websites zeigen eine Standard-Fehlerseite
  • Die Nginx-Konfiguration wird automatisch aktualisiert

Website löschen

  1. Klicken Sie auf das Löschen-Symbol
  2. Bestätigen Sie die Löschung

Dateien beachten

Beim Löschen einer Website werden die Nginx-Konfiguration und der PHP-FPM-Pool entfernt. Die Website-Dateien im Home-Verzeichnis bleiben optional erhalten.


Composer-Verwaltung

Für Websites mit PHP-Projekten steht Composer direkt im Panel zur Verfügung:

  1. Öffnen Sie die Website-Details
  2. Navigieren Sie zum Tab Composer
  3. Verfügbare Aktionen:
  4. composer install — Abhängigkeiten installieren
  5. composer update — Abhängigkeiten aktualisieren
  6. Die Ausgabe wird in Echtzeit angezeigt

Git-Deployment

Für automatisiertes Deployment via Git:

  1. Öffnen Sie die Website-Details
  2. Navigieren Sie zum Tab Git
  3. Konfigurieren Sie:
  4. Repository-URL — HTTPS oder SSH
  5. Branch — Zu deployender Branch (z. B. main)
  6. Auto-Deploy — Automatisches Deployment bei Push (Webhook)
  7. Deploy-Key — SSH-Schlüssel für private Repositories

  8. Klicken Sie auf Jetzt deployen für manuelles Deployment

Deploy-Hooks

Nach dem Git-Pull können automatisch Befehle ausgeführt werden (z. B. composer install, npm run build).


Fehlerseiten (Error Documents)

Eigene Fehlerseiten können für die Standard-HTTP-Fehlercodes konfiguriert werden:

  • 403 — Zugriff verweigert
  • 404 — Seite nicht gefunden
  • 500 — Interner Serverfehler
  • 502 — Bad Gateway
  • 503 — Dienst nicht verfügbar