Webmin je bezplatný ovládací panel s otevřeným zdrojovým kódem pro správu serverů Unix/Linux. Tento tutoriál vám ukáže, jak nainstalovat Webmin na server CentOS 8/RHEL 8.
Webmin poskytuje uživatelům grafické webové uživatelské rozhraní pro konfiguraci běžných systémových úloh a nastavení. Pokud se vám nelíbí myšlenka používat ke správě serveru příkazový řádek, pak je Webmin pro vás dobrou grafickou alternativou. Níže je uveden seznam funkcí poskytovaných Webminem.
- BIND DNS resolver a autoritativní DNS server
- Samba Server
- Server FTP
- Server SMTP Postfix a server IMAP/POP3 Dovecot.
- záloha systému souborů
- Nakonfigurujte rotaci souborů protokolu.
- Upravujte úložiště balíčků, plánujte automatické aktualizace softwaru a přijímejte zprávy o aktualizacích e-mailem.
- Správa uživatelů a skupin
- Naplánujte úlohy Cron.
- Nakonfigurujte bránu firewall iptables
- A mnoho dalších.
Nainstalujte Webmin na CentOS 8/RHEL 8 z úložiště Webmin
Webmin existuje od roku 1997. V době psaní tohoto článku je poslední dostupná stabilní verze 1.970, která byla vydána 6. ledna 2021. Webmin není v úložišti softwaru CentOS/RHEL. Doporučujeme nainstalovat Webmin z jeho oficiálního úložiště, abyste vždy mohli získat nejnovější verzi.
Chcete-li přidat úložiště Webmin, vytvořte soubor úložiště pomocí textového editoru příkazového řádku, jako je Nano.
sudo dnf install nano sudo nano /etc/yum.repos.d/webmin.repo
Přidejte do souboru následující řádky.
[Webmin] name=Webmin Distribution Neutral #baseurl=https://download.webmin.com/download/yum mirrorlist=https://download.webmin.com/download/yum/mirrorlist enabled=1
Uložte a zavřete soubor. Chcete-li soubor uložit v textovém editoru Nano, stiskněte CTRL+O
a poté stiskněte Enter
potvrdit. Chcete-li soubor zavřít, stiskněte CTRL+X
. Dále musíme spustit následující příkaz ke stažení a importu podpisového klíče Webmin PGP, aby správce balíčků mohl ověřit integritu balíčků stažených z úložiště Webmin.
wget http://www.webmin.com/jcameron-key.asc
Poté jej importujte pomocí:
sudo rpm --import jcameron-key.asc
Nyní můžeme aktualizovat úložiště a nainstalovat Webmin.
sudo dnf update -y sudo dnf install webmin -y
Po instalaci se vestavěný webový server Wemin automaticky spustí, jak můžete vidět spuštěním příkazu systemctl níže:
systemctl status webmin
Výstup:
Nápověda :Pokud se výše uvedený příkaz okamžitě neukončí, můžete stisknout Q klíč k získání zpětné kontroly nad terminálem.
Pokud neběží, můžete jej spustit pomocí:
sudo systemctl start webmin
Pokud vidíte „Unit webmin.service could not be found
“, pak musíte restartovat server.
sudo shutdown -r now
Webmin server naslouchá na portu 10000, takže musíte otevřít TCP port 10000 ve firewallu.
sudo firewall-cmd --permanent --add-port=10000/tcp sudo systemctl reload firewalld
Nyní máte přístup k webovému ovládacímu panelu pomocí
https://your-server-ip:10000
Protože běží v režimu HTTPS a používá certifikát TLS s vlastním podpisem, prohlížeč vám sdělí, že připojení není zabezpečené.
Ale víte, že toto je váš vlastní server, takže jednoduše klikněte na Advanced
ve Firefoxu a přidat výjimku. Pokud používáte Google Chrome, můžete kliknout na Advanced
-> Proceed
.
Nyní se vám zobrazí přihlašovací obrazovka Webmin. Musíte použít root
účet pro přihlášení.
Pokud se vám nelíbí výchozí barva v navigační nabídce, můžete ji změnit na jinou barvu kliknutím na theme configuration
ikonu ve spodní části navigační nabídky
poté vyberte možnosti navigační nabídky a nastavte paletu barev. Vybral jsem například Midnight blue.
Uložte změnu.
Nastavení zpětného proxy
Pokud nainstalujete Webmin na produkční server, možná budete chtít nastavit reverzní proxy s Apache nebo Nginx, abyste mohli používat název domény pro přístup k rozhraní Webmin bez zadání čísla portu (10000). To vám také umožňuje získat a nainstalovat platný certifikát Let’s Encrypt TLS pro Webmin.
Pokud nemáte skutečný název domény, doporučuji přejít na NameCheap a koupit si ho. Cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.
Apache
Pokud dáváte přednost použití webového serveru Apache, postupujte podle pokynů níže a nastavte reverzní proxy.
Nainstalujte webový server Apache.
sudo dnf install httpd
Poté vytvořte soubor virtuálního hostitele pro Webmin.
sudo nano /etc/httpd/conf.d/webmin.conf
Přidejte do souboru následující texty. Nahraďte webmin.your-domain.com
s vaším skutečným názvem domény a nezapomeňte pro něj vytvořit záznam DNS A.
<VirtualHost *:80> ServerName webmin.your-domain.com ProxyPass / http://127.0.0.1:10000/ ProxyPassReverse / http://127.0.0.1:10000/ </VirtualHost>
Uložte a zavřete soubor. Znovu načtěte Apache, aby se změny projevily.
sudo systemctl reload httpd
Ve výchozím nastavení SELinux zakazuje Apache odesílat síťové požadavky na jiné servery, ale později musí Apache přeposílat požadavky HTTP na 127.0.0.1:10000
, takže musíme říci SELinuxu, aby povolil Apache pomocí následujícího příkazu.
sudo setsebool -P httpd_can_network_connect 1
Nyní můžete vzdáleně přistupovat k Webminu zadáním názvu domény (webmin.your-domain.com
) v adresním řádku prohlížeče.
Nginx
Pokud dáváte přednost použití webového serveru Nginx, postupujte podle pokynů níže a nastavte reverzní proxy.
Nainstalujte Nginx na CentOS/RHEL.
sudo dnf install nginx
Spusťte webový server Nginx.
sudo systemctl start nginx
Poté vytvořte nový soubor bloku serveru v /etc/nginx/conf.d/
adresář.
sudo nano /etc/nginx/conf.d/webmin.conf
Do souboru vložte následující text. Nahraďte webmin.your-domain.com
s vaším preferovaným názvem domény a nezapomeňte pro něj vytvořit záznam DNS A.
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; } }
Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.
sudo nginx -t
Pokud je test úspěšný, znovu načtěte Nginx.
sudo systemctl reload nginx
Ve výchozím nastavení SELinux zakazuje Nginxu odesílat síťové požadavky na jiné servery, ale později Nginx potřebuje předávat HTTP požadavky na 127.0.0.1:10000
, takže musíme říci SELinuxu, aby povolil Nginx pomocí následujícího příkazu.
sudo setsebool -P httpd_can_network_connect 1
Nyní můžete přistupovat k webovému rozhraní Webmin přes webmin.your-domain.com
.
Povolit HTTPS
Pro šifrování HTTP provozu při návštěvě webového rozhraní Webmin můžeme HTTPS povolit instalací bezplatného TLS certifikátu vydaného od Let’s Encrypt. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) na CentOS/RHEL.
sudo dnf install certbot
Pokud používáte Apache, musíte si nainstalovat plugin Certbot Apache.
sudo dnf install python3-certbot-apache
Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com
Pokud používáte Nginx, musíte si nainstalovat plugin Certbot Nginx.
sudo dnf install python3-certbot-nginx
Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com
Kde:
--apache
:Použijte plugin Apache.--nginx
:Použijte plugin nginx.--agree-tos
:Souhlas se smluvními podmínkami.--redirect
:Vynutit HTTPS přesměrováním 301.--hsts
:Přidejte hlavičku Strict-Transport-Security do každé odpovědi HTTP. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.--staple-ocsp
:Umožňuje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.
Certifikát by nyní měl být získán a automaticky nainstalován. A budete mít přístup k webovému rozhraní Webmin přes zabezpečené připojení HTTPS.
Přidat důvěryhodné referrery
Protože samotný Webmin běží v režimu HTTP a povolili jsme HTTPS v Apache/Nginx, Webmin si bude myslet, že https://webmin.your-domain.com
je mimo server Webmin. Potřebujeme tedy přidat důvěryhodné referrery.
Upravte konfigurační soubor Webmin.
sudo nano /etc/webmin/config
Přidejte následující řádek na konec.
referers=webmin.your-domain.com
Uložte a zavřete soubor. Poté restartujte Webmin.
sudo systemctl restart webmin
Zakažte režim HTTPS ve Webminu
Nyní, když je připojení TLS ukončeno na Apache/Nginx, musíme deaktivovat režim HTTPS na vestavěném webovém serveru Webmin. Upravte konfigurační soubor Webmin.
sudo nano /etc/webmin/miniserv.conf
Najděte následující řádek.
ssl=1
Chcete-li ve Webminu deaktivovat režim HTTPS, změňte jej na následující.
ssl=0
Do tohoto souboru můžeme také přidat následující řádek, takže vestavěný webový server umožňuje přístup pouze z localhost. Návštěvníci používající http://public-ip:10000
schéma bude zakázáno.
allow=127.0.0.1
Uložte a zavřete soubor. Poté restartujte Webmin.
sudo systemctl restart webmin
Odstraňování problémů
Pokud uvidíte nějaké chyby, můžete zkontrolovat protokol chyb Webmin (/var/webmin/miniserv.error
) k odstraňování problémů.