Webmin ist ein kostenloses und quelloffenes Control Panel zur Verwaltung von Unix/Linux-Servern. Dieses Tutorial zeigt Ihnen, wie Sie Webmin auf einem CentOS 8/RHEL 8-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, ist Webmin eine gute grafische Alternative für Sie. Im Folgenden finden Sie eine Liste der von Webmin bereitgestellten Funktionen.
- BIND DNS-Resolver und autoritativer DNS-Server
- Samba-Server
- FTP-Server
- Postfix-SMTP-Server und Dovecot-IMAP/POP3-Server.
- Dateisystemsicherung
- Protokolldateirotation konfigurieren.
- Bearbeiten Sie Paket-Repositories, planen Sie automatische Software-Updates und erhalten Sie Update-Berichte per E-Mail.
- Benutzer und Gruppen verwalten
- Cron-Jobs planen.
- IPtables-Firewall konfigurieren
- Und viele mehr.
Installieren Sie Webmin unter CentOS 8/RHEL 8 aus dem Webmin-Repository
Webmin gibt es seit 1997. Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste verfügbare stabile Version 1.970, die am 6. Januar 2021 veröffentlicht wurde. Webmin befindet sich nicht im CentOS/RHEL-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 Repository-Datei mit einem Befehlszeilen-Texteditor wie Nano.
sudo dnf install nano sudo nano /etc/yum.repos.d/webmin.repo
Fügen Sie der Datei die folgenden Zeilen hinzu.
[Webmin] name=Webmin Distribution Neutral #baseurl=https://download.webmin.com/download/yum mirrorlist=https://download.webmin.com/download/yum/mirrorlist enabled=1
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 zu importieren, damit der 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 rpm --import jcameron-key.asc
Jetzt können wir das Repository aktualisieren und Webmin installieren.
sudo dnf update -y sudo dnf install webmin -y
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:
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
Wenn Sie die Meldung „Unit webmin.service could not be found
sehen ” Fehler, müssen Sie Ihren Server neu starten.
sudo shutdown -r now
Der Webmin-Server lauscht auf Port 10000, daher müssen Sie den TCP-Port 10000 in der Firewall öffnen.
sudo firewall-cmd --permanent --add-port=10000/tcp sudo systemctl reload firewalld
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
.
Jetzt wird Ihnen der Webmin-Anmeldebildschirm angezeigt. Sie müssen root
verwenden Konto zum Anmelden.
Wenn Ihnen die Standardfarbe im Navigationsmenü nicht gefällt, können Sie sie in eine andere Farbe ändern, indem Sie auf die theme configuration
klicken Symbol unten im Navigationsmenü,
Wählen Sie dann die Navigationsmenüoptionen und stellen Sie die Farbpalette ein. 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.
Apache
Wenn Sie den Apache-Webserver bevorzugen, befolgen Sie die nachstehenden Anweisungen, um den Reverse-Proxy einzurichten.
Installieren Sie den Apache-Webserver.
sudo dnf install httpd
Erstellen Sie dann eine virtuelle Hostdatei für Webmin.
sudo nano /etc/httpd/conf.d/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, dafür einen DNS-A-Eintrag 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. Laden Sie Apache neu, damit die Änderungen wirksam werden.
sudo systemctl reload httpd
Standardmäßig verbietet SELinux Apache, Netzwerkanfragen an andere Server zu stellen, aber später muss Apache HTTP-Anfragen an 127.0.0.1:10000
weiterleiten , also müssen wir SELinux mit dem folgenden Befehl anweisen, Apache zuzulassen.
sudo setsebool -P httpd_can_network_connect 1
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 unter CentOS/RHEL.
sudo dnf 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; listen [::]:80; server_name webmin.your-domain.com; access_log /var/log/nginx/webmin.access; error_log /var/log/nginx/webmin.error; 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
Standardmäßig verbietet SELinux Nginx, Netzwerkanfragen an andere Server zu stellen, aber später muss Nginx HTTP-Anfragen an 127.0.0.1:10000
weiterleiten , also müssen wir SELinux mit dem folgenden Befehl anweisen, Nginx zuzulassen.
sudo setsebool -P httpd_can_network_connect 1
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 CentOS/RHEL zu installieren.
sudo dnf install certbot
Wenn Sie Apache verwenden, müssen Sie das Certbot-Apache-Plugin installieren.
sudo dnf 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 dnf 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 jeder HTTP-Antwort den Strict-Transport-Security-Header 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
HTTPS-Modus in Webmin deaktivieren
Nachdem die TLS-Verbindung bei Apache/Nginx beendet wurde, müssen wir den HTTPS-Modus im integrierten Webserver von Webmin deaktivieren. 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
Wir können dieser Datei auch die folgende Zeile hinzufügen, damit der eingebaute Webserver nur den Zugriff von localhost zulässt. Besucher, die http://public-ip:10000
verwenden Schema wird verboten.
allow=127.0.0.1
Speichern und schließen Sie die Datei. Starten Sie dann Webmin neu.
sudo systemctl restart webmin
Fehlerbehebung
Wenn Sie Fehler sehen, können Sie das Webmin-Fehlerprotokoll überprüfen (/var/webmin/miniserv.error
) zur Fehlerbehebung.