Markus Michalski FAQ

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.

English Version

Zurück zur Übersicht


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 --yes lautet die Antwort auf jede Rückfrage standardmäßig "nein". Akzeptiert werden ein einzelnes y, Y, j oder J.

Argumente

Ausgabe und Exit-Codes

Ü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

Weiter