Diese Dokumentation bezieht sich immer auf die aktuellste veroeffentlichte Version. Fuer aeltere Versionen siehe das CHANGELOG.
Server Tools v2 ist ein modulares Bash-Toolkit zur Verwaltung von Debian/Ubuntu-Servern. Es ersetzt den monolithischen Vorgänger (v1, Single-File mit ~900 Zeilen) durch eine saubere, testbare Architektur mit 18 spezialisierten Bibliotheken und über 7.000 Zeilen Code.
Server Tools v2 automatisiert wiederkehrende Server-Administrationsaufgaben - von Datenbank-Management über Virtual Host-Erstellung bis SSL-Zertifikate und SSH-User-Verwaltung. Spart durchschnittlich 15-30 Minuten pro Verwaltungsaufgabe.
Das Tool bietet zwei Interfaces:
server-tools db create --name mydb --user myuser)server-tools ohne Argumente)| Aspekt | v1 | v2 |
|---|---|---|
| Architektur | Single-File (~900 Zeilen) | 18 modulare Libraries (~7.000 LOC) |
| Sprache | Deutsch (Ausgaben) | Englisch |
| Webserver | Nur Apache | Apache oder Nginx (config-gesteuert) |
| Input-Validierung | Minimal | Vollständig (13 Typen) |
| Audit-Logging | Keines | Vollständig |
| Backups | Keine | Auto-Backup vor Löschoperationen |
| Tests | Keine | 510 BATS-Tests |
| CI/CD | Keines | ShellCheck + shfmt + BATS + Install-Smoke-Test |
| Security | Basis | Umfassend (Escaping, Path-Traversal-Schutz, ACLs) |
| Rollback | Keines | Bei Fehlern in mehrstufigen Operationen |
| Install/Uninstall | - | Ein gemeinsamer, getesteter Installer für make und bin/server-tools |
.sql, .sql.gz, .sql.zip)Nginx ist ein alternatives Webserver-Backend, kein Add-on: Die Umschaltung erfolgt global über
ST_WEBSERVER, nicht pro VHost. SSL-Verwaltung und VHost-Audit unterstützen aktuell nur Apache.
/etc/cron.d/ mit Schedule-ValidierungServer Tools v2 folgt dem Composable Building Blocks Pattern: Jede Library besteht aus atomaren Funktionen, die von High-Level-Operationen komponiert werden. Details, alle Diagramme und das vollständige Schichten-Modell stehen auf der Technical-Unterseite.
| Anforderung | Version | Hinweise |
|---|---|---|
| Betriebssystem | Debian 11+, Ubuntu 20.04+ | Andere Distros nicht getestet |
| Bash | 5.0+ | bash --version prüfen |
| Root-Zugriff | Erforderlich | Alle Operationen benötigen root |
| Apache | 2.4+ | Standard-Backend (ST_WEBSERVER=apache) |
| Nginx | 1.18+ | Alternatives Backend (ST_WEBSERVER=nginx); SSL-Verwaltung und vhost audit funktionieren hier noch nicht |
| MySQL/MariaDB | 5.7+ / 10.3+ | Optional — mysql+mysqldump oder mariadb+mariadb-dump |
| OpenSSL | 1.1+ | Für Passwort-Generierung |
| UFW / Fail2Ban / acl | Optional | Nur für die jeweiligen Module benötigt |
Root-Zugriff ist zwingend erforderlich. Das Tool prüft beim Start
EUID == 0und bricht bei fehlenden Rechten ab.
| Seite | Inhalt |
|---|---|
| Installation | Quick Install, Update, Deinstallation, Konfiguration nach der Installation |
| Konfiguration | Vollständige ST_*-Variablen-Referenz, Beispiel-Config |
| Verwendung | Synopsis, globale Flags, Praxisbeispiele, interaktives Menu |
| CLI-Referenz | Alle Befehle und Optionen als Tabellen |
| Sicherheitskonzept | Input-Validierung, Audit-Logging, weitere Sicherheitsmaßnahmen |
| Fehlerbehebung | Häufige Probleme mit Symptom → Prüfung → Lösung |
| Technische Details | Architektur, Projektstruktur, Tests, CI/CD, Makefile-Targets |
| FAQ | Häufig gestellte Fragen |
Lizenz: MIT
Quellcode & Issues: github.com/markus-michalski/server-tools-v2
Changelog: CHANGELOG.md auf GitHub