DEV Community

Cover image for Installing Webmin on Ubuntu 26.04
Sanskriti Harmukh for Vultr

Posted on • Originally published at docs.vultr.com

Installing Webmin on Ubuntu 26.04

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
Enter fullscreen mode Exit fullscreen mode

2. Download the setup script:

$ curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
Enter fullscreen mode Exit fullscreen mode

3. Run the setup script:

$ sudo bash webmin-setup-repo.sh
Enter fullscreen mode Exit fullscreen mode

4. Install Webmin:

$ sudo apt install --install-recommends webmin -y
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

2. Check the service status:

$ sudo systemctl status webmin
Enter fullscreen mode Exit fullscreen mode

3. Stop or restart the service when needed:

$ sudo systemctl stop webmin
$ sudo systemctl restart webmin
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

2. Generate the certificate:

$ sudo certbot certonly --standalone -d webmin.example.com --agree-tos -m your@email.com
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

4. Update the Webmin configuration to reference the certificate:

$ sudo nano /etc/webmin/miniserv.conf
Enter fullscreen mode Exit fullscreen mode

Find the keyfile= line and update it to:

keyfile=/etc/webmin/webmin.pem
Enter fullscreen mode Exit fullscreen mode

5. Restart Webmin to apply the change:

$ sudo systemctl restart webmin
Enter fullscreen mode Exit fullscreen mode

Access the Dashboard

Open the Webmin dashboard in a browser at the following URL:

https://webmin.example.com:10000
Enter fullscreen mode Exit fullscreen mode

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)