Webmin ist eine webbasierte Administrationsoberfläche für Linux-Server. Es ermöglicht die Verwaltung von Diensten, Benutzern, Dateien und mehr über einen Browser.
Installation
Debian/Ubuntu
# Repository hinzufügen
curl -fsSL https://download.webmin.com/jcameron-key.asc | gpg --dearmor -o /usr/share/keyrings/webmin.gpg
echo "deb [signed-by=/usr/share/keyrings/webmin.gpg] https://download.webmin.com/download/repository sarge contrib" | tee /etc/apt/sources.list.d/webmin.list
# Installieren
apt update
apt install webmin
CentOS/RHEL
# Repository erstellen
cat > /etc/yum.repos.d/webmin.repo << EOF
[Webmin]
name=Webmin Distribution Neutral
baseurl=https://download.webmin.com/download/yum
enabled=1
gpgcheck=1
gpgkey=https://download.webmin.com/jcameron-key.asc
EOF
# Installieren
dnf install webmin
Universeller Installer
# Herunterladen
wget https://www.webmin.com/download/webmin-current.tar.gz
tar -xzf webmin-current.tar.gz
cd webmin-*
# Installieren
./setup.sh
Nach Installation
# Service starten
systemctl enable --now webmin
# Status prüfen
systemctl status webmin
# Port prüfen
ss -tlnp | grep 10000
Erster Zugriff
URL
https://server-ip:10000
Login
Benutzer: root (oder sudo-User)
Passwort: System-Passwort
Selbstsigniertes Zertifikat
Browser-Warnung ist normal bei selbstsigniertem Zertifikat.
Ausnahme hinzufügen oder Let's Encrypt einrichten.
Grundkonfiguration
Webmin-Einstellungen
Webmin → Webmin Configuration → Webmin-Konfiguration
Sprache ändern
Webmin → Change Language and Theme
→ Personal choice: German (DE)
Port ändern
# /etc/webmin/miniserv.conf
port=10000
listen=10000
# Oder via Web-Interface:
# Webmin → Webmin Configuration → Ports and Addresses
SSL aktivieren
# /etc/webmin/miniserv.conf
ssl=1
# Service neustarten
systemctl restart webmin
Benutzer und Zugriff
Webmin-Benutzer erstellen
Webmin → Webmin Users
→ Create a new Webmin user
→ Username: admin
→ Password: ***
→ Available Webmin modules: Auswählen
Zugriff beschränken
Webmin → Webmin Configuration → IP Access Control
→ Only allow from listed addresses
→ 192.168.1.0/24
Zwei-Faktor-Authentifizierung
Webmin → Webmin Configuration → Two-Factor Authentication
→ Google Authenticator aktivieren
PAM-Authentifizierung
# /etc/webmin/miniserv.conf
pam=1
pam_conv=
# Für LDAP-Integration
# /etc/webmin/miniserv.conf
extauth=/usr/share/webmin/miniserv-ldap.pl
Let's Encrypt SSL
Über Web-Interface
Webmin → Webmin Configuration → SSL Encryption
→ Let's Encrypt Tab
→ Hostname: webmin.example.com
→ Request Certificate
Voraussetzungen
# Domain muss auf Server zeigen
# Port 80 muss erreichbar sein (für Challenge)
# Firewall öffnen (temporär)
ufw allow 80/tcp
Automatische Erneuerung
Die Erneuerung erfolgt automatisch über Webmin.
Prüfen unter: Webmin → Webmin Configuration → SSL Encryption
Module
Wichtige Standard-Module
System:
- Bootup and Shutdown (Systemdienste)
- Disk Quotas
- Scheduled Cron Jobs
- Users and Groups
- Software Packages
Servers:
- Apache Webserver
- BIND DNS Server
- MySQL Database Server
- OpenSSH Server
- Postfix Mail Server
- Samba Windows File Sharing
Networking:
- Firewall (iptables/firewalld)
- Network Configuration
- Bandwidth Monitoring
Hardware:
- System Time
- Disk Partitions
- Logical Volume Management
Module installieren
Webmin → Webmin Configuration → Webmin Modules
→ From URL oder Standard modules
→ Modul auswählen und installieren
Drittanbieter-Module
# Virtualmin (Webhosting-Panel)
wget http://software.virtualmin.com/gpl/scripts/install.sh
sh install.sh
# Usermin (Benutzer-Interface)
apt install usermin
Häufige Aufgaben
Benutzer verwalten
System → Users and Groups
→ Create a new user
→ Username, Password, Home, Shell eingeben
→ Create
Cronjobs erstellen
System → Scheduled Cron Jobs
→ Create a new cron job
→ User auswählen
→ Command eingeben
→ Zeitplan festlegen
→ Create
Dienste verwalten
System → Bootup and Shutdown
→ Dienst auswählen
→ Start/Stop/Restart
→ Start at boot: Yes/No
Firewall konfigurieren
Networking → Firewall (iptables)
→ Add rule
→ Incoming/Outgoing
→ Port und Aktion definieren
→ Apply Configuration
Pakete installieren
System → Software Packages
→ Package from APT/YUM
→ Paketname eingeben
→ Install
Dateimanager
Zugriff
Tools → File Manager
Funktionen
- Dateien durchsuchen
- Upload/Download
- Bearbeiten
- Berechtigungen ändern
- Komprimieren/Extrahieren
- Suchen
SSH-Terminal
Tools → Command Shell
→ Terminal im Browser
Backup mit Webmin
Filesystem Backup
System → Filesystem Backup
→ Directories to backup
→ Backup destination
→ Schedule
Webmin-Konfiguration sichern
Webmin → Backup Configuration Files
→ Module auswählen
→ Backup to file/FTP/SSH
Sicherheit
Firewall-Regeln
# UFW (Ubuntu)
ufw allow from 192.168.1.0/24 to any port 10000
# firewalld (CentOS)
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="10000" protocol="tcp" accept'
firewall-cmd --reload
Fail2ban für Webmin
# /etc/fail2ban/jail.local
[webmin-auth]
enabled = true
port = 10000
filter = webmin-auth
logpath = /var/webmin/miniserv.log
maxretry = 3
bantime = 3600
# /etc/fail2ban/filter.d/webmin-auth.conf
[Definition]
failregex = ^<HOST>.*Invalid login as .* from
ignoreregex =
Session-Timeout
Webmin → Webmin Configuration → Authentication
→ Auto-logout after: 30 minutes
Passwort-Policy
Webmin → Webmin Configuration → Authentication
→ Minimum password length
→ Block after failed logins
Nginx Reverse Proxy
Konfiguration
# /etc/nginx/sites-available/webmin
server {
listen 443 ssl http2;
server_name webmin.example.com;
ssl_certificate /etc/letsencrypt/live/webmin.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/webmin.example.com/privkey.pem;
location / {
proxy_pass https://127.0.0.1:10000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket-Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Webmin für Proxy konfigurieren
# /etc/webmin/config
referers=webmin.example.com
# /etc/webmin/miniserv.conf
ssl_redirect=0
Virtualmin
Installation
# GPL-Version
wget https://software.virtualmin.com/gpl/scripts/install.sh
sh install.sh --minimal
Features
- Virtuelle Server (Domains)
- E-Mail-Konten
- Datenbanken
- FTP-Zugang
- DNS-Verwaltung
- SSL-Zertifikate
- Backups
Virtuellen Server erstellen
Virtualmin → Create Virtual Server
→ Domain name
→ Administration password
→ Features auswählen
→ Create Server
Usermin
Installation
apt install usermin
Zugriff
https://server-ip:20000
Funktionen für Benutzer
- E-Mail (Webmail)
- Dateien verwalten
- Passwort ändern
- SSH-Schlüssel
- Crontab
Troubleshooting
Webmin startet nicht
# Log prüfen
cat /var/webmin/miniserv.error
# Service-Status
systemctl status webmin
# Manuell starten
/etc/webmin/start
SSL-Probleme
# Zertifikat prüfen
openssl s_client -connect localhost:10000
# Zertifikat neu erstellen
/etc/webmin/stop
rm /etc/webmin/miniserv.pem
/etc/webmin/start
Zugriff verloren
# IP-Beschränkung aufheben
sed -i 's/^allow=.*/allow=/' /etc/webmin/miniserv.conf
# Benutzer zurücksetzen
/usr/share/webmin/changepass.pl /etc/webmin root neuespasswort
Modul-Fehler
# Perl-Abhängigkeiten installieren
apt install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python3
Zusammenfassung
| URL | Dienst |
|---|
| https://server:10000 | Webmin |
| https://server:20000 | Usermin |
| https://server:10000/virtual-server | Virtualmin |
| Datei | Beschreibung |
|---|
| /etc/webmin/miniserv.conf | Server-Konfiguration |
| /etc/webmin/config | Webmin-Konfiguration |
| /var/webmin/miniserv.log | Access-Log |
| /var/webmin/miniserv.error | Error-Log |
| Befehl | Funktion |
|---|
systemctl restart webmin | Neustart |
/usr/share/webmin/changepass.pl | Passwort ändern |
/etc/webmin/start | Manuell starten |
/etc/webmin/stop | Manuell stoppen |
Fazit
Webmin bietet eine intuitive Web-Oberfläche für Linux-Administration. Es eignet sich besonders für Administratoren, die nicht ständig auf der Kommandozeile arbeiten möchten, oder für die Delegation bestimmter Aufgaben. Wichtig ist die Absicherung durch SSL, Zugriffsbeschränkung und starke Passwörter. Für professionelles Webhosting ist Virtualmin eine leistungsfähige Erweiterung.