Server Tools: Verwendung
Server Tools bedienen: Aufruf, globale Flags und die Wirkung von --yes, Argument-Verarbeitung, Ausgabe und Exit-Codes, das interaktive Menü und was nur im Menü oder nur per CLI verfügbar ist.
Verwendung
Aufruf
server-tools [--yes|-y] [--quiet|-q] <command> <action> [options]
server-tools # interaktives Menü
server-tools --version | -v
server-tools --config | -c
server-tools --help | -h
server-tools install | uninstall
Die Befehlsnamen und ihre Kurzformen:
| Befehl | Kurzform |
|---|---|
db |
database |
vhost |
|
user |
|
ssl |
|
cron |
|
firewall |
fw |
fail2ban |
f2b |
logs |
log |
status |
Nach der Installation heißt das Programm auch st und servertools. Alle Befehle brauchen root, ausgenommen --version, --help und --config. Die Optionen jedes Befehls stehen in der CLI-Referenz.
Globale Flags
| Flag | Wirkung |
|---|---|
--yes, -y |
Beantwortet jede Rückfrage mit "ja" |
--quiet, -q |
Wird akzeptiert, hat aber derzeit keine Wirkung auf die Ausgabe |
Die Flags werden an beliebiger Stelle der Argumentliste erkannt und entfernt, bevor der Befehl ausgewertet wird. Ein Optionswert, der genau -y oder -q lautet, wird deshalb ebenfalls als Flag gelesen.
Was --yes bestätigt
--yes ersetzt jede Rückfrage mit "ja", auch die destruktiven:
| Befehl | Rückfrage, die entfällt |
|---|---|
db delete, db restore |
Löschen der Datenbank, Überschreiben beim Restore |
vhost create |
Überschreiben eines bestehenden VHosts |
vhost delete |
Löschen des VHosts und bei VHosts mit DocumentRoot Löschen des gesamten Verzeichnisses /var/www/<domain>. Proxy-VHosts haben keine DocumentRoot-Rückfrage, dort wird nichts unter /var/www gelöscht |
user create |
Weitermachen ohne vorhandenen Apache-VHost |
user delete |
Löschen des Users |
ssl delete |
Löschen des Zertifikats |
cron add |
Überschreiben einer gleichnamigen Cron-Datei |
cron remove |
Löschen jeder Datei in /etc/cron.d, die das Suchmuster enthält |
fail2ban unban |
Entbannen aus allen Jails |
db delete, vhost delete |
"Continue without backup?" nach einem fehlgeschlagenen Backup |
Ohne
--yeslautet die Antwort auf jede Rückfrage standardmäßig "nein". Akzeptiert werden ein einzelnesy,Y,joderJ.
Argumente
- Optionen haben die Form
--name wert. Jede Option braucht einen Wert, ausgenommen die Schalter--websocket,--drop-userund--errors. - Unbekannte Optionen werden stillschweigend ignoriert.
- Fehlt eine Pflichtoption, gibt das Tool eine
Usage:-Zeile aus und beendet sich mit Exit-Code 1. server-tools <command> --helpzeigt die Liste der Aktionen. Ausnahmen:statusignoriert Argumente und zeigt immer den Status, undvhost audit --helpgibt nur eine Usage-Zeile aus und beendet sich mit Exit-Code 1. Eine Hilfe je Aktion gibt es nicht.- Eingaben werden validiert, bevor etwas geändert wird. Die Regeln stehen unter Sicherheit und Schutzmechanismen.
Ausgabe und Exit-Codes
- Meldungen mit
[INFO],[WARN]und[ERROR]gehen auf stderr, Ergebnisse und Listen auf stdout. - Farben erscheinen nur, wenn stderr ein Terminal ist und
NO_COLORnicht gesetzt ist. - Passwörter, die das Tool erzeugt oder anzeigt, erscheinen nur, wenn stdout ein Terminal ist. In Pipes und Scripten steht an der Stelle ein Hinweis (
db create) oder nichts (user set-password). - Exit-Code 0 bedeutet Erfolg, 1 jeden Fehler. Auch eine abgelehnte Rückfrage (
Aborted.) beendet mit 1.
Übergibst du ein Passwort per
--password, sieht jeder lokale User es während des Aufrufs in der Prozessliste, und es landet in der Shell-History.
Interaktives Menü
sudo server-tools
Das Hauptmenü zeigt die Titelzeile Server Tools v<Version> und diese Einträge:
| Nr. | Eintrag |
|---|---|
| 1 | Database Management ([mysql not installed], wenn Client oder Dump-Tool fehlen) |
| 2 | Virtual Host Management |
| 3 | SSH User Management |
| 4 | SSL Certificate Management |
| 5 | Cron Job Management |
| 6 | Firewall Management |
| 7 | Fail2Ban |
| 8 | Log Viewer |
| 9 | System Status |
| 10 | Exit |
Jedes Untermenü fragt die Werte einzeln ab. Fehler in einer Aktion führen zurück ins Menü, nicht aus dem Programm.
Nur im Menü
| Aktion | Menü |
|---|---|
| Datenbank einem anderen User zuweisen (Reassign) | Database Management |
www-Redirect zu einem bestehenden VHost hinzufügen |
Virtual Host Management |
| HTTPS-Weiterleitung zu einem bestehenden VHost hinzufügen | Virtual Host Management |
| Alle Zertifikate neu erstellen | SSL Certificate Management |
| Firewall-Regel löschen | Firewall Management |
| Firewall ein- oder ausschalten | Firewall Management |
Nur per CLI
| Aktion | Befehl |
|---|---|
| VHosts gegen die Vorlage prüfen | vhost audit |
| ProxyPreserveHost je VHost festlegen | vhost create --preserve-host |
Beispiel: neue Site einrichten
server-tools vhost create --domain shop.example.com --php 8.3
server-tools ssl create --domain shop.example.com
server-tools db create --name shop_db --user shop_user
server-tools user create --domain shop.example.com --username shopdev
server-tools user add-key --username shopdev --key "ssh-ed25519 AAAA... dev@laptop"
server-tools firewall allow --port 443 --proto tcp