V tomto článku se podíváme na instalaci a základní konfiguraci webového rozhraní Webmin na operačním systému Linux. Webmin je užitečný nástroj, který umožňuje spravovat server pomocí webového rozhraní, což může být velmi užitečné pro začátečníky i pokročilé uživatele. V článku se dozvíte, jak nainstalovat Webmin, jak se do něj přihlásit a jakými funkcemi disponuje.
Je potřeba mít již nastavené tyto služby
- Nginx server
- Certboot
Začneme přidáním repositáře
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
Dále stáhneme veřejný klíč a repositář podepíšeme
wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
Pokračujeme aktualizací repositářů a instalací balíčků
sudo apt update
sudo apt-get install webmin
sudo apt install libhtml-parser-perl libdbd-mysql-perl
Nyní je potřeba připravit webový adresář na serveru nginx. Vytvoříme patřičné složky a oprávnění.
Přístup na Webmin je po instalaci možný přes port 10000
http://[ip_adresa]:10000
Příprava webové stránky
Nejprve vytvoříme adresáře
sudo mkdir -P /var/www/webmin.domena.org
sudo chmod -R 0755 /var/www/webmin.domena.org
sudo chown -R www-data:www-data /var/www/webmin.domena.org
Poté konfigurační soubor
server {
listen 80;
listen [::]:80;
server_name webmin.domena.org;
location /.well-known/acme-challenge/ {
default_type "text/plain";
allow all;
}
return 301 https://$server_name$request_uri;
}
server {
listen 443;
listen [::]:443;
server_name webmin.domena.org;
root /var/www/html/webmin.domena.org/public_html;
location /.well-known/acme-challenge/ {
allow all;
default_type "text/plain";
}
# Point index to the Laravel front controller.
index index.php index.html index.htm;
location / {
proxy_pass https://127.0.0.1:10000/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
proxy_redirect https://$host:10000/ http://$host/;
allow 127.0.0.1;
allow 10.242.93.0/24;
deny all;
}
location /xterm {
proxy_pass https://127.0.0.1:10000/xterm/;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
#allow 127.0.0.1;
#allow 10.242.93.0/24;
#deny all;
}
}
server {
listen 80;
listen [::]:80;
server_name webmin.domena.org;
location /.well-known/acme-challenge/ {
default_type "text/plain";
allow all;
}
return 301 https://$server_name$request_uri;
}
server {
listen 443;
listen [::]:443;
server_name webmin.domena.org;
root /var/www/html/webmin.domena.org/public_html;
location /.well-known/acme-challenge/ {
allow all;
default_type "text/plain";
}
# Point index to the Laravel front controller.
index index.php index.html index.htm;
location / {
proxy_pass https://127.0.0.1:10000/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
proxy_redirect https://$host:10000/ http://$host/;
allow 127.0.0.1;
allow 10.242.93.0/24;
deny all;
}
location /xterm {
proxy_pass https://127.0.0.1:10000/xterm/;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
#allow 127.0.0.1;
#allow 10.242.93.0/24;
#deny all;
}
}
Web aktivujeme a restartujeme server
sudo cp -l /etc/nginx/sites-available/domena.org /etc/nginx/sites-enabled/domena.org
sudo service nginx restart
Nyní můžeme požádat o certifikát.
sudo certbot certonly --agree-tos --webroot -w /var/www/domena.org -d domena.org
Uložíme konfiguraci a restartujeme službu
sudo cp -l /etc/nginx/sites-available/domena.org /etc/nginx/sites-enabled/domena.org
sudo service nginx restart
Nyní by měl být možný přístup přímo přes vybranou doménu

Moduly
Modul pro Certbot
- https://github.com/cited/Certbot-Webmin-Module/blob/master/scripts/certbot.wbm.gz?raw=true