Webmin ist ein kostenloses und quelloffenes Control Panel zur Verwaltung von Unix-ähnlichen Servern. Dieses Tutorial zeigt Ihnen, wie Sie Webmin auf einem Ubuntu 18.04- und Ubuntu 16.04-Server installieren. Webmin bietet Benutzern eine grafische webbasierte Benutzeroberfläche zum Konfigurieren allgemeiner Systemaufgaben und -einstellungen. Wenn Ihnen die Idee, Ihren Server über die Befehlszeile zu verwalten, nicht gefällt, dann ist Webmin eine gute grafische Alternative für Sie.
Installieren Sie Webmin auf Ubuntu 18.04 und Ubuntu 16.04 aus dem Webmin-Repository
Webmin gibt es seit 1997. Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste verfügbare stabile Version 1.941, die am 16. Januar 2020 veröffentlicht wurde. Webmin befindet sich nicht im Ubuntu-Software-Repository. Es wird empfohlen, Webmin aus seinem offiziellen Repository zu installieren, damit Sie immer die neueste Version erhalten.
Um das Webmin-Repository hinzuzufügen, erstellen Sie eine Quelllistendatei mit einem Befehlszeilen-Texteditor wie nano.
sudo nano /etc/apt/sources.list.d/webmin.list
Fügen Sie die folgende Zeile in die Datei ein.
deb http://download.webmin.com/download/repository sarge contrib
Speichern und schließen Sie die Datei. Um die Datei im Nano-Texteditor zu speichern, drücken Sie CTRL+O
, und drücken Sie dann Enter
bestätigen. Um die Datei zu schließen, drücken Sie CTRL+X
. Als nächstes müssen wir den folgenden Befehl ausführen, um den Webmin-PGP-Signaturschlüssel herunterzuladen und in den APT-Schlüsselring zu importieren, damit der APT-Paketmanager die Integrität der aus dem Webmin-Repository heruntergeladenen Pakete überprüfen kann.
wget http://www.webmin.com/jcameron-key.asc
Dann importieren Sie es mit:
sudo apt-key add jcameron-key.asc
Jetzt können wir den lokalen Paketindex aktualisieren und Webmin installieren.
sudo apt update sudo apt install webmin
Nach der Installation wird der in Wemin integrierte Webserver automatisch gestartet, wie Sie sehen können, wenn Sie den folgenden systemctl-Befehl ausführen:
systemctl status webmin
Ausgabe:
● webmin.service - LSB: web-based administration interface for Unix systems Loaded: loaded (/etc/init.d/webmin; generated) Active: active (running) since Sun 2020-02-23 16:34:02 HKT; 37s ago Docs: man:systemd-sysv-generator(8) Tasks: 1 (limit: 4915) CGroup: /system.slice/webmin.service └─25792 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
Hinweis :Wenn der obige Befehl nicht sofort beendet wird, können Sie Q drücken Taste, um die Kontrolle über das Terminal zurückzugewinnen.
Wenn es nicht läuft, können Sie es starten mit:
sudo systemctl start webmin
Der Webmin-Server lauscht auf Port 10000. Wenn Sie eine Firewall wie UFW auf Ihrem Server verwenden, müssen Sie den TCP-Port 10000 öffnen.
sudo ufw allow 10000/tcp
Jetzt können Sie über
auf das webbasierte Control Panel zugreifenhttps://your-server-ip:10000
Da es im HTTPS-Modus ausgeführt wird und ein selbstsigniertes TLS-Zertifikat verwendet, wird Ihnen der Browser mitteilen, dass die Verbindung nicht sicher ist.
Aber Sie wissen, dass dies Ihr eigener Server ist, also klicken Sie einfach auf Advanced
Registerkarte in Firefox und fügen Sie eine Ausnahme hinzu. Wenn Sie Google Chrome verwenden, können Sie auf Advanced
klicken -> Proceed
.
Und jetzt wird Ihnen der Webmin-Anmeldebildschirm angezeigt. Sie können root oder andere Benutzerkonten in der sudo-Gruppe auf Ihrem Ubuntu 18.04- und Ubuntu 16.04-System verwenden, um sich anzumelden.
Wenn Ihnen die standardmäßige braune Farbe im Navigationsmenü nicht gefällt, können Sie sie in eine andere Farbe ändern, indem Sie auf das Zahnradsymbol unten im Navigationsmenü klicken, dann die Navigationsmenüoptionen auswählen und die Farbpalette festlegen. Ich habe zum Beispiel Mitternachtsblau ausgewählt.
Speichern Sie die Änderung.
Reverse-Proxy einrichten
Wenn Sie Webmin auf einem Produktionsserver installieren, möchten Sie möglicherweise einen Reverse-Proxy mit Apache oder Nginx einrichten, damit Sie einen Domänennamen für den Zugriff auf die Webmin-Oberfläche verwenden können, ohne die Portnummer (10000) anzugeben. Auf diese Weise können Sie auch ein gültiges Let’s Encrypt TLS-Zertifikat für Webmin erhalten und installieren.
Wenn Sie keinen echten Domainnamen haben, empfehle ich, zu NameCheap zu gehen, um einen zu kaufen. Der Preis ist niedrig und sie bieten Whois-Datenschutz lebenslang kostenlos.
HTTPS-Modus in Webmin deaktivieren
Bevor wir den Reverse-Proxy einrichten, müssen wir den HTTPS-Modus in Webmin deaktivieren, da wir später die TLS-Verbindung bei Apache/Nginx beenden werden. Bearbeiten Sie die Webmin-Konfigurationsdatei.
sudo nano /etc/webmin/miniserv.conf
Suchen Sie die folgende Zeile.
ssl=1
Ändern Sie es wie folgt, um den HTTPS-Modus in Webmin zu deaktivieren.
ssl=0
Speichern und schließen Sie die Datei. Starten Sie dann Webmin neu.
sudo systemctl restart webmin
Apache
Wenn Sie den Apache-Webserver bevorzugen, befolgen Sie die nachstehenden Anweisungen, um den Reverse-Proxy einzurichten.
Installieren Sie den Apache-Webserver.
sudo apt install apache2
Um Apache als Reverse-Proxy zu verwenden, müssen wir den proxy
aktivieren , proxy_http
und rewrite
Modul.
sudo a2enmod proxy proxy_http rewrite
Erstellen Sie dann eine virtuelle Hostdatei für Webmin.
sudo nano /etc/apache2/sites-available/webmin.conf
Fügen Sie die folgenden Texte in die Datei ein. Ersetzen Sie webmin.your-domain.com
mit Ihrem tatsächlichen Domainnamen und vergessen Sie nicht, einen DNS-A-Eintrag dafür zu erstellen.
<VirtualHost *:80> ServerName webmin.your-domain.com ProxyPass / http://127.0.0.1:10000/ ProxyPassReverse / http://127.0.0.1:10000/ </VirtualHost>
Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host.
sudo a2ensite webmin.conf
Laden Sie Apache neu, damit die Änderungen wirksam werden.
sudo systemctl reload apache2
Jetzt können Sie per Fernzugriff auf Webmin zugreifen, indem Sie den Domainnamen eingeben (webmin.your-domain.com
) in der Adressleiste des Browsers.
Nginx
Wenn Sie den Nginx-Webserver bevorzugen, befolgen Sie die nachstehenden Anweisungen, um den Reverse-Proxy einzurichten.
Installieren Sie Nginx auf Ubuntu.
sudo apt install nginx
Starten Sie den Nginx-Webserver.
sudo systemctl start nginx
Erstellen Sie dann eine neue Serverblockdatei in /etc/nginx/conf.d/
Verzeichnis.
sudo nano /etc/nginx/conf.d/webmin.conf
Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie webmin.your-domain.com
mit Ihrem bevorzugten Domainnamen und vergessen Sie nicht, dafür einen DNS-A-Eintrag zu erstellen.
server { listen 80; server_name webmin.your-domain.com; location / { proxy_pass http://127.0.0.1:10000; proxy_set_header Host $http_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; } }
Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration.
sudo nginx -t
Wenn der Test erfolgreich ist, laden Sie Nginx neu.
sudo systemctl reload nginx
Jetzt können Sie über webmin.your-domain.com
auf die Webmin-Weboberfläche zugreifen .
HTTPS aktivieren
Um den HTTP-Verkehr zu verschlüsseln, wenn Sie die Webmin-Weboberfläche besuchen, können wir HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat installieren, das von Let’s Encrypt ausgestellt wurde. Führen Sie den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) auf Ubuntu zu installieren.
sudo apt install certbot
Wenn Sie Apache verwenden, müssen Sie das Certbot-Apache-Plugin installieren.
sudo apt install python3-certbot-apache
Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com
Wenn Sie Nginx verwenden, müssen Sie das Certbot Nginx-Plugin installieren.
sudo apt install python3-certbot-nginx
Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com
Wo:
--apache
:Verwenden Sie das Apache-Plugin.--nginx
:Verwenden Sie das nginx-Plugin.--agree-tos
:Nutzungsbedingungen akzeptieren.--redirect
:HTTPS durch 301-Umleitung erzwingen.--hsts
: Fügen Sie den Strict-Transport-Security-Header zu jeder HTTP-Antwort hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.--staple-ocsp
: Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.
Das Zertifikat sollte nun abgerufen und automatisch installiert werden. Und Sie können über eine sichere HTTPS-Verbindung auf die Webmin-Weboberfläche zugreifen.
Vertrauenswürdige Referrer hinzufügen
Da Webmin selbst im HTTP-Modus läuft und wir HTTPS in Apache/Nginx aktiviert haben, denkt Webmin, dass https://webmin.your-domain.com
befindet sich außerhalb des Webmin-Servers. Daher müssen wir vertrauenswürdige Referrer hinzufügen.
Bearbeiten Sie die Webmin-Konfigurationsdatei.
sudo nano /etc/webmin/config
Fügen Sie am Ende die folgende Zeile hinzu.
referers=webmin.your-domain.com
Speichern und schließen Sie die Datei. Starten Sie dann Webmin neu.
sudo systemctl restart webmin