server-tools [--yes|-y] [--quiet|-q] <command> <subcommand> [options]
| Flag | Kurz | Beschreibung |
|---|---|---|
--yes |
-y |
Bestätigungen automatisch akzeptieren |
--quiet |
-q |
Nur Fehler ausgeben |
--version |
-v |
Versionsnummer anzeigen |
--config |
-c |
Aktive Konfiguration anzeigen |
--help |
-h |
Hilfe anzeigen |
# Vollstaendig: DB + User + Passwort
server-tools db create --name shop_production --user shop_user
# Mit eigenem Passwort
server-tools db create --name shop_production --user shop_user --password 'MyS3cur3Pass!'
# DB fuer existierenden User
server-tools db create-for-user --name shop_staging --user shop_user
# Einfacher VHost mit PHP 8.3
server-tools vhost create --domain example.com --php 8.3
# Mit Aliases und eigenem DocumentRoot
server-tools vhost create --domain example.com \
--aliases "www.example.com cdn.example.com" \
--php 8.2 \
--docroot /var/www/example.com/public
# Einfacher Reverse Proxy (z.B. Node.js-App)
server-tools vhost create --domain app.example.com --type proxy \
--backend http://localhost:3000
# Mit WebSocket-Support (z.B. fuer Socket.io)
server-tools vhost create --domain ws.example.com --type proxy \
--backend http://localhost:3000 --websocket
# ProxyPreserveHost deaktivieren
server-tools vhost create --domain api.example.com --type proxy \
--backend http://localhost:8080 --preserve-host false
# Einzelnen VHost gegen die kanonische Vorlage pruefen
server-tools vhost audit --domain example.com
# Alle VHosts pruefen (z.B. als Cronjob fuer regelmaessige Drift-Checks)
server-tools vhost audit
# User fuer Domain erstellen
server-tools user create --domain example.com --username exampledev
# SSH-Key hinzufuegen
server-tools user add-key --username exampledev \
--key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... user@laptop"
# Passwort setzen (oder automatisch generieren lassen)
server-tools user set-password --username exampledev
# Standard-Zertifikat
server-tools ssl create --domain example.com --email admin@example.com
# Wildcard ueber Cloudflare DNS
server-tools ssl wildcard --domain example.com --provider cloudflare
# 1. VHost anlegen
server-tools vhost create --domain shop.example.com --php 8.3
# 2. SSL aktivieren
server-tools ssl create --domain shop.example.com
# 3. Datenbank anlegen
server-tools db create --name shop_db --user shop_user
# 4. SSH-User fuer Entwickler einrichten
server-tools user create --domain shop.example.com --username shopdev
server-tools user add-key --username shopdev --key "ssh-ed25519 AAAA..."
# 5. Firewall oeffnen
server-tools firewall allow --port 443
Ohne Argumente startet server-tools das interaktive TUI-Menu:
+=======================================+
| Server Tools |
+=======================================+
1) Database Management
2) Virtual Host Management
3) SSL Certificate Management
4) Cron Job Management
5) Firewall Management
6) Fail2Ban Management
7) Log Viewer
8) SSH User Management
9) System Status
10) Exit
Select option [1-10]:
Wenn MySQL/MariaDB nicht installiert ist, wird der Datenbankpunkt als deaktiviert angezeigt:
1) Database Management [mysql not installed]
Beim Auswählen erscheint ein kurzer Hinweis mit dem Install-Befehl — kein Crash, kein Fehler-Exit, danach kehrt das Tool zum Hauptmenü zurück.
Jeder Menüpunkt öffnet ein Untermenu mit allen verfügbaren Operationen. Das Database-Menu z.B. bietet 17 Optionen für alle Datenbank-Operationen.
Das interaktive Menu eignet sich für manuelle Administration. Für Scripting und Automation empfiehlt sich der CLI-Modus.