Hosting-Pakete¶
Hosting-Pakete definieren die Ressourcen-Kontingente und Berechtigungen, die ein Abonnement erhält. Jedes Abonnement ist genau einem Paket zugeordnet.
Übersicht¶
Die Paketliste zeigt alle konfigurierten Hosting-Pakete mit ihren wichtigsten Kennzahlen.
Angezeigte Spalten¶
| Spalte | Beschreibung |
|---|---|
| Name | Paketbezeichnung |
| Speicher | Festplattenquota in MB |
| Sites | Maximale Anzahl Websites |
| Domains | Maximale Anzahl Domains |
| Datenbanken | Maximale Anzahl MariaDB-Datenbanken |
| Postfächer | Maximale Anzahl E-Mail-Postfächer |
| FTP | Maximale Anzahl FTP-Accounts |
| PHP | Standard-PHP-Version |
| Abonnements | Anzahl der Abonnements mit diesem Paket |
Paket erstellen¶
Klicken Sie auf Paket erstellen. Das Formular ist in mehrere Tabs gegliedert:
Tab: Ressourcen¶
| Feld | Standard | Beschreibung |
|---|---|---|
| Name | — | Eindeutiger Paketname |
| Speicherplatz (MB) | — | Festplattenquota (0 = unbegrenzt) |
| Max. Sites | — | Maximale Website-Anzahl (0 = unbegrenzt) |
| Max. Domains | — | Maximale Domain-Anzahl |
| Max. Subdomains | — | Maximale Subdomain-Anzahl |
| Max. Domain-Aliase | — | Maximale Anzahl Domain-Aliase |
| Max. Datenbanken | — | Maximale DB-Anzahl |
| Max. Postfächer | — | Maximale E-Mail-Postfach-Anzahl |
| Max. Postfach-Quota (MB) | — | Maximale Größe pro Postfach |
| Max. E-Mail-Quota gesamt (MB) | — | Gesamtes E-Mail-Speicherlimit |
| Max. DB-Quota (MB) | — | Maximale DB-Größe |
| Max. DB-Verbindungen | — | Gleichzeitige Verbindungen pro DB-User (MariaDB MAX_USER_CONNECTIONS, PostgreSQL CONNECTION LIMIT) |
| Max. Queries/Stunde | — | Query-Rate-Governor, nur MariaDB (MAX_QUERIES_PER_HOUR) |
| Max. Query-Laufzeit (ms) | — | Kappt einzelne, überlange Abfragen (Runaway-/CPU-Schutz), nur PostgreSQL (statement_timeout) |
| Max. Dateien (Inodes) | — | Inode-Limit pro Website (benötigt aktivierte FS-Quota) |
| Max. FTP-Accounts | — | Maximale FTP-Account-Anzahl |
| Max. Cron-Jobs | — | Maximale Cron-Job-Anzahl |
| Max. Backups | — | Maximale Backup-Anzahl |
| Max. WordPress | — | Maximale WordPress-Installationen |
| Max. Traffic (GB) | 0 | Monatliches Traffic-Limit (0 = unbegrenzt) |
Unbegrenzte Ressourcen
Der Wert 0 bedeutet bei allen Kontingenten "unbegrenzt".
Systemd-Slice (Ressourcen-Limits je Kunde)¶
Im Tab Ressourcen begrenzt die Karte Systemd-Slice (Ressourcen-Limits), was die Prozesse eines Kunden auf Kernel-Ebene verbrauchen dürfen (systemd-Cgroups; wirksam für PHP-FPM mit Master und Workern, Cron-Jobs und die Prozesse des Kunden):
| Feld | Bedeutung |
|---|---|
| Arbeitsspeicher max. (MB) | hartes Limit — darüber werden Prozesse per OOM beendet |
| CPU-Quote (%) | 100 = ein voller Kern, 200 = zwei Kerne usw. |
| Max. Prozesse | Schutz vor Fork-Bomben |
| IO Lesen/Schreiben (MB/s bzw. IOPS) | 0 = unbegrenzt |
Vorgabewerte eines neuen Pakets. Legen Sie ein Paket an und lassen alle drei Felder (RAM, CPU, Prozesse) auf 0, setzt das Panel Werte nach der Zahl der PHP-Workers. Maßgeblich ist jeweils der größere Wert aus der Stufe und der Linearformel (204,8 MB, 10 % CPU und 102,4 Prozesse je Worker):
| PHP-Workers | RAM | CPU | Prozesse |
|---|---|---|---|
| bis 2 | 512 MB | 100 % | 128 |
| 3–5 | 1024 MB | 200 % | 256 |
| 6–10 | 1536 MB | 300 % | 512 |
| mehr als 10 | 3072 MB | 400 % | 1024 |
Der Grund für die Untergrenze: Ein PHP-Pool braucht schon vor dem ersten Worker rund 140–160 MB (128 MB OPcache plus Master). Bei einem Worker blieb nach der alten, linearen Rechnung (205 MB) zu wenig Luft, ein kurzer Spitzenbedarf führte zum OOM-Kill des PHP-Masters und die Website war aus, ohne dass ein Limit den Grund nannte. Die Stufen sichern daher mindestens 160 MB plus 128 MB je Worker. Ebenso verlängert eine CPU-Quote unter einem ganzen Kern die Antwortzeit jeder Anfrage (bei 10 % antwortete eine nicht zwischengespeicherte WordPress-Seite erst nach rund 1,9 s) — deshalb liegt die Untergrenze bei einem ganzen Kern.
Bestehende Pakete behalten ihre Werte
Die neuen Vorgabewerte gelten nur für neu angelegte Pakete. Ein bereits gespeichertes Paket wird bei einem Update nicht verändert — ein Limit auf dem Server eines Kunden zu ändern ist Ihre Entscheidung, keine Nebenwirkung eines Updates. Läuft ein Kunde auf einem älteren Paket mit kleinen Werten (etwa 205 MB und 10 % CPU bei einem Worker) und wird gedrosselt oder per OOM beendet, erhöhen Sie die Werte selbst: Paket bearbeiten → Tab Ressourcen → Karte Systemd-Slice → speichern. Das Panel überträgt die Limits danach auf alle Server, auf denen Websites dieses Pakets laufen. Bedenken Sie dabei: Erhöht ein Kunde memory_limit seiner PHP-Einstellungen über 128 MB, braucht sein Slice entsprechend mehr.
Die Werte eines Pakets erreichen auch die erste Website eines neuen Abonnements. Bisher blieb diese bei den Agent-Standardwerten, erst eine spätere Änderung am Paket hat die Paketwerte angewendet.
Tab: PHP-Konfiguration¶
| Feld | Standard | Beschreibung |
|---|---|---|
| PHP-Workers | 1 | Anzahl PHP-FPM-Prozesse |
| Standard PHP-Version | 8.4 | PHP-Version bei neuen Sites |
| Erlaubte PHP-Versionen | 8.1, 8.2, 8.3, 8.4 | Kommagetrennte Liste |
Dynamische PHP-Versionen
Die verfügbaren PHP-Versionen werden automatisch vom Server abgerufen. Die Dropdown-Menüs zeigen immer die tatsächlich installierten Versionen an — es sind keine hartkodierten Werte hinterlegt. Dies gilt für Pakete, Reseller-Pläne und Abonnements gleichermaßen.
PHP-Limits (Obergrenzen) — Werte, die ein Kunde bei den PHP-Einstellungen seiner Website nicht überschreiten darf (memory_limit, upload_max_filesize, post_max_size, max_execution_time, max_input_vars; 0 = keine Obergrenze). PHP-Standardwerte — Startwerte für neue Websites dieses Pakets (getrennt von den Obergrenzen; auf die jeweilige Obergrenze geklemmt; 0 = System-Standard).
Container-Hosting (Docker-Extension)
Ist die Docker-Extension aktiv, erscheint hier zusätzlich Container-Hosting erlauben (perm_docker) samt Limits (Container-Anzahl, RAM/CPUs je Container). Der Container-Speicher zählt gegen die allgemeine Disk-Quota der Website. Details unter Container-Hosting (Docker).
Tab: Berechtigungen¶
Jede Berechtigung kann einzeln aktiviert oder deaktiviert werden:
| Berechtigung | Beschreibung |
|---|---|
| Domains anlegen | Kunde darf eigene Domains hinzufügen |
| Subdomains anlegen | Kunde darf Subdomains erstellen |
| Domain-Aliase anlegen | Kunde darf Domain-Aliase konfigurieren |
| Datenbanken anlegen | Kunde darf MariaDB-Datenbanken erstellen |
| PostgreSQL-Datenbanken | Kunde darf zusätzlich PostgreSQL-Datenbanken erstellen |
| Postfächer anlegen | Kunde darf E-Mail-Postfächer erstellen |
| Weiterleitungen anlegen | Kunde darf E-Mail-Weiterleitungen erstellen |
| Catch-All | Kunde darf eine Catch-All-Adresse pro Domain einrichten |
| FTP-Accounts anlegen | Kunde darf FTP-Accounts erstellen |
| Cron-Jobs anlegen | Kunde darf Cron-Jobs einrichten |
| DNS verwalten | Kunde hat Zugriff auf DNS-Zonen |
| Backups verwalten | Kunde darf Backups erstellen und wiederherstellen |
| SSL verwalten | Kunde darf SSL-Zertifikate konfigurieren |
| PHP-Einstellungen | Kunde darf PHP-Konfiguration ändern |
| PHP-Version wählen | Kunde darf die PHP-Version wechseln |
| Dateimanager | Zugriff auf den Dateimanager |
| phpMyAdmin | Zugriff auf phpMyAdmin (SSO) |
| Webmail | Zugriff auf Webmail (SOGo) |
| Groupware | Zugriff auf SOGo-Kalender & -Kontakte (CalDAV/CardDAV) pro Postfach |
| Logs | Zugriff auf Zugriffs- und Fehler-Logs |
| Spamfilter | Kunde darf Spam-Einstellungen ändern |
| Passwortschutz | Kunde darf Verzeichnisse per .htpasswd schützen |
| Web-Statistiken | Zugriff auf Besucher-Statistiken |
| WAF | Kunde darf die Web Application Firewall (ModSecurity/OWASP-CRS) pro Website aktivieren, siehe WAF |
| WordPress-Toolkit | Zugriff auf WordPress-Verwaltung |
| Joomla-Toolkit | Zugriff auf Joomla-Verwaltung |
| Staging | Kunde darf Staging-Umgebungen für Websites anlegen |
| Uptime-Monitor | Kunde darf eigene Uptime-Überwachungen einrichten |
| Vorschau-URL | Zugriff auf die Vorschau-Domain |
| Git-Deployment | Git-basiertes Deployment aktiviert |
| Composer | Zugriff auf Composer-Verwaltung |
| Node.js/Python | Zugriff auf Node.js- und Python-Konfiguration |
Tab: Web und Mail¶
| Feld | Standard | Beschreibung |
|---|---|---|
| SSL aktiviert | Ja | SSL standardmäßig aktiv |
| HTTP → HTTPS | Nein | Automatische Weiterleitung |
| SSH-Zugang | Nein | Shell-Zugang für Kunden |
| CGI aktiviert | Nein | CGI-Skripte erlaubt |
| E-Mail-Dienst | Ja | Maildienst für das Paket. Aus = Postfächer & Weiterleitungen für Kunden dieses Pakets gesperrt (SMTP/IMAP) und das E-Mail-Menü ausgeblendet — der komplette Maildienst ist für das Paket deaktiviert |
| Max. ausgehende E-Mails/Stunde | 0 | Rate-Limiting (0 = unbegrenzt) |
| Max. pro Postfach/Stunde | 0 | Rate-Limiting pro Postfach |
| Max. pro Domain/Stunde | 0 | Rate-Limiting pro Domain |
Tab: Limits und Policies¶
| Feld | Standard | Beschreibung |
|---|---|---|
| Übernutzungs-Richtlinie | block | block oder notify bei Quota-Überschreitung |
| Speicher-Warnung (%) | 80 | Ab diesem Wert wird der Kunde benachrichtigt |
| Suspendierter Site-Status | disabled | Verhalten der Websites, wenn die Subscription gesperrt wird: disabled (Standard, „Deaktivieren (Nginx aus)“) schaltet die Vhosts ab, suspended_page zeigt eine Sperrseite, active lässt alles laufen. Sperren löscht nie Dateien oder den Linux-Benutzer; Entsperren (oder Verlängern einer abgelaufenen Subscription) schaltet die Websites unverändert wieder ein. Löschen ist eine eigene, ausdrückliche Aktion. |
| Gültigkeitsdauer (Tage) | 0 | Automatische Ablaufzeit (0 = unbegrenzt) |
| Standard-Ressourcen-Quotas (CPU-Quota, RAM, Max. Tasks) | — | Ohne Wirkung. Diese Felder werden von nichts mehr gelesen und lassen sich über die API nicht mehr schreiben. Die wirksamen Limits stehen im Abschnitt Systemd-Slice |
| Backup aktiviert | Ja | Backup-Funktion für dieses Paket verfügbar |
Paket bearbeiten¶
- Klicken Sie auf das Bearbeiten-Symbol in der Aktionsspalte
- Ändern Sie die gewünschten Einstellungen
- Klicken Sie auf Speichern
Bestehende Abonnements
Änderungen an einem Paket wirken sich auf neue Abonnements aus. Bestehende Abonnements behalten ihre aktuellen Limits, bis ein Paket-Upgrade durchgeführt wird.
Paket löschen¶
- Klicken Sie auf das Löschen-Symbol
- Bestätigen Sie die Löschung
Pakete mit Abonnements
Ein Paket kann nicht gelöscht werden, solange Abonnements zugeordnet sind. Verschieben Sie alle Abonnements zuerst auf ein anderes Paket.
Paket duplizieren¶
Um ein ähnliches Paket schnell zu erstellen:
- Klicken Sie auf das Kopieren-Symbol in der Aktionsspalte
- Das Erstellungsformular öffnet sich mit den vorausgefüllten Werten
- Passen Sie den Namen und gewünschte Einstellungen an
- Klicken Sie auf Erstellen