Webmin and Virtualmin on a VPS: a server admin tool and a hosting panel, explained

VPS & Servers·· 3 views· 4 min read

This article is for people with a VPS or a dedicated server with root access. On shared plans the panel is cPanel, and you neither choose nor install another one. The short answer: Webmin and Virtualmin get mixed up, but they do different things. Webmin is a browser interface for administering the system: users, services, packages, firewall, scheduled tasks and each program’s configuration files. Virtualmin is a hosting panel that runs on top of Webmin and creates “virtual servers”: a domain with its own folder, site, mail, DNS zone and databases. Both are open source; Virtualmin also has a paid edition.

Which is which

Tool What it is for
Webmin Running the server without memorising commands: checking services, editing configuration, managing packages and users. It does not create hosting accounts: it is a panel for the administrator.
Virtualmin Managing several sites and clients: each domain becomes a virtual server with site, mail, DNS and databases. It installs and configures the web stack for you.
Usermin The end-user side: mail in the browser, password, the files in their account. Useful when clients should not see Webmin.
Free or paid Virtualmin The free edition is enough for many servers. The paid one adds features and vendor support; compare on the official Virtualmin page.
Webmin on a server that already has another panel A bad idea: two programs writing to the same configuration files. Use one or the other.

Getting started without opening a dangerous port

1 Decide which one you need. Only want help running a server with one site? Webmin. Hosting several domains with mail? Virtualmin, which brings Webmin with it.
2 For Virtualmin, start on a freshly installed system and a supported release (the list is in the official Virtualmin documentation). The official install script configures the whole stack and is not meant for servers that are already set up.
3 Log in with a system user. Webmin accepts root or a user with sudo. Prefer the latter: creating a user with sudo.
4 Close the port to the internet. Webmin listens on port 10000 by default. Open it to your own address only: sudo ufw allow from YOUR.IP to any port 10000 proto tcp
sudo ufw status
5 Turn on two-factor authentication in Webmin’s settings and keep the package updated with the rest of the system: updating a Debian or Ubuntu VPS.
6 Check the service is running and, with Virtualmin, ask it to check its own configuration: sudo systemctl status webmin
sudo virtualmin check-config
Webmin is a door to root in the browser. Whoever gets into Webmin controls the whole server. Port 10000 open to the world, with a weak password or an old version, is an invitation. Firewall, a strong password, two-factor and updates are not optional.
Use it to learn, too. Webmin shows the configuration files you are changing. Seeing what each button writes is a good way to understand the server before moving to the command line.

Not sure whether your VPS needs Webmin, Virtualmin or neither? Tell us what will run on it.

Open a support ticket

SEE ALSO

Choosing a control panel for your VPS: what to decide before you install one

Running a VPS without a control panel: what the panel did and how you do it by hand

Ports and firewall on a VPS: why your app is not reachable

How to create a user with sudo on your VPS and stop logging in as root

Keeping your VPS or dedicated server secure: the six that matter

Managed or unmanaged VPS: which to choose and who does what

RECOMMENDED PRODUCT

VPS server with root access

Resources of your own, the OS you choose, reinstall whenever you like. from $8.39/mo (3-year plan, with coupon)

See plans
Was this answer helpful? Your answer helps us improve this article.