Webmin is an open-source web-based administration panel for Linux servers, providing a graphical interface for managing users, packages, firewall rules, cron jobs, and services without requiring command-line access. This guide installs Webmin on Ubuntu 26.04 from the official repository and secures the panel with a Let's Encrypt certificate for trusted HTTPS access.
Install Webmin
Webmin provides an official setup script that registers its APT repository and signing key before installation.
1. Update the APT package index:
$ sudo apt update
2. Download the setup script:
$ curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
3. Run the setup script:
$ sudo bash webmin-setup-repo.sh
4. Install Webmin:
$ sudo apt install --install-recommends webmin -y
Manage the Webmin Service
Enable Webmin as a systemd service so it starts automatically on every boot.
1. Enable and start the service:
$ sudo systemctl enable webmin
$ sudo systemctl start webmin
2. Check the service status:
$ sudo systemctl status webmin
3. Stop or restart the service when needed:
$ sudo systemctl stop webmin
$ sudo systemctl restart webmin
Configure Firewall Rules
Open the ports required for HTTP, HTTPS, and the Webmin dashboard.
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw allow 10000/tcp
Secure Webmin with Let's Encrypt SSL
Webmin ships with a self-signed certificate by default. Replacing it with a Let's Encrypt certificate removes browser security warnings and establishes a trusted connection.
1. Install Certbot:
$ sudo apt install certbot -y
2. Generate the certificate:
$ sudo certbot certonly --standalone -d webmin.example.com --agree-tos -m your@email.com
3. Combine the certificate files into the format Webmin expects:
$ sudo cat /etc/letsencrypt/live/webmin.example.com/privkey.pem \
/etc/letsencrypt/live/webmin.example.com/fullchain.pem \
| sudo tee /etc/webmin/webmin.pem
4. Update the Webmin configuration to reference the certificate:
$ sudo nano /etc/webmin/miniserv.conf
Find the keyfile= line and update it to:
keyfile=/etc/webmin/webmin.pem
5. Restart Webmin to apply the change:
$ sudo systemctl restart webmin
Access the Dashboard
Open the Webmin dashboard in a browser at the following URL:
https://webmin.example.com:10000
Log in with the server's Linux username and password, the same credentials used for SSH. The dashboard provides access to modules for package updates, user and group management, file management, firewall rules, cron job scheduling, and server software such as Apache and MySQL.
Next Steps
Webmin is running and accessible over HTTPS. From here you can:
- Install additional modules such as MySQL, ProFTPD, and Bind DNS from the module installer
- Set up Usermin to give individual users access to their own mail and files
- Install Virtualmin on top of Webmin for full web hosting control panel functionality
For the complete guide, visit the original article on Vultr Docs.
Top comments (0)