Alle Benutzereingaben werden vor Verarbeitung validiert. 13 Validierungstypen stehen zur Verfügung:
| Typ | Validierung | Beispiel |
|---|---|---|
domain |
RFC 1035, Labels 1-63 Zeichen, TLD 2+ Buchstaben | example.com |
database |
Max 64 Zeichen, [a-zA-Z0-9_-] |
shop-production |
username |
Max 32 Zeichen, [a-zA-Z0-9_-] |
shop-user |
linux_username |
POSIX-konform, lowercase, max 32, kein Start mit Zahl | shopdev |
ssh_public_key |
Keine Newlines, 40-8192 Zeichen, ssh-rsa/ed25519/ecdsa/sk-* | ssh-ed25519 AAAA... |
path |
Path-Traversal-Schutz via realpath + Whitelist-Check |
/var/www/shop |
email |
Basis RFC 5322 | admin@example.com |
password |
Längen-Prüfung (konfigurierbar, min 8) | |
php_version |
Whitelist: 7.4, 8.0-8.4 | 8.3 |
cron_schedule |
5-Feld Cron-Regex, max 500 Zeichen | 0 3 * * * |
port |
1-65535, numerisch | 443 |
protocol |
tcp oder udp | tcp |
ip_address |
IPv4 mit Oktett-Prüfung (0-255) | 192.168.1.1 |
url |
http/https mit validem Host | https://example.com |
mysql_escape() + Backtick-Quotingrealpath + Whitelist (ST_ALLOWED_DOCROOT_PATHS)safe_write_file() (mktemp + mv, TOCTOU-sicher, Symlink-Prüfung).my.cnf-Permissionsopenssl rand -base64 (~6 Bits/Zeichen Entropie)uninstall löscht nur Pfade, die sich als Server-Tools-Installation erkennen lassen, und entfernt Shortcuts nur, wenn sie noch auf die eigene Binary zeigen; install bricht mit klarer Fehlermeldung ab, statt mitten im Lauf fehlzuschlagen, wenn es aus einer bereits installierten Kopie heraus gestartet wird[2026-02-18 14:32:15] [INFO] user=root action=create_database db=shop_production user=shop_user
[2026-02-18 14:33:01] [INFO] user=root action=create_vhost domain=shop.example.com php=8.3
[2026-02-19 10:15:42] [INFO] user=root action=create_user username=shopdev domain=shop.example.com
[2026-02-18 14:35:22] [WARNING] user=root action=delete_database db=old_staging backup=true
Alle destruktiven Operationen (Löschen, Ändern) erzeugen automatisch ein Backup, sofern
ST_AUTO_BACKUP=true(Default). Schlägt das Backup fehl, wird nachgefragt ob fortgefahren werden soll.