Webmin: Install, Setup & How It Compares to cPanel


This is a working reference on Webmin, drawn from the same material our Linux server support team uses when standing up admin panels on customer servers. It covers what Webmin is, install steps for Ubuntu/Debian and RHEL-family systems, first login, the core modules, Virtualmin for multi-site hosting, and a flat comparison against cPanel.
What is Webmin
Webmin is a web-based system administration panel for Unix-like servers. It is free software under the BSD license, maintained on GitHub (webmin/webmin), and has been in continuous development since 1997. It runs its own small web server and listens on port 10000 over HTTPS; there is no dependency on Apache or Nginx for the panel itself.
Functionally, Webmin is a UI over the operating system's native configuration files. Creating a user through Webmin edits /etc/passwd and /etc/shadow the same way useradd would; configuring Apache through Webmin edits the real Apache config files. Nothing is stored in a proprietary database, so a server managed through Webmin can still be administered entirely from the shell. The project's documentation lives at webmin.com/docs.
Install on Ubuntu and Debian
The current official method, per the Webmin download page, uses a repository setup script followed by a normal apt install:
curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
sudo sh webmin-setup-repo.sh
sudo apt-get install webmin --install-recommends
The script adds the Webmin apt repository and signing key, so subsequent apt upgrades pull new Webmin releases along with everything else.
Install on RHEL, AlmaLinux, and Rocky Linux
The same setup script configures a dnf repository on RHEL-family systems:
curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
sudo sh webmin-setup-repo.sh
sudo dnf install webmin
On a fresh minimal install, open port 10000 in firewalld before connecting: add the port to the active zone with firewall-cmd and reload. A legacy walkthrough for the retired CentOS 7 platform remains on this site — install Webmin on CentOS 7 step by step — but the repo-script method above is the current path for supported distributions.
First login and SSL
After installation, browse to https://your-server-ip:10000 and sign in with the root account (or any user with sudo privileges on Ubuntu). Webmin generates a self-signed certificate at install time, so the browser shows a certificate warning on first connection. To replace it, go to Webmin Configuration > SSL Encryption, where you can upload an existing certificate or request one from Let's Encrypt for a hostname that resolves to the server.
Module tour
Webmin ships with more than 100 modules. The ones that see daily use:
| Module | What it manages |
|---|---|
| Users and Groups | Local accounts, password policy, shells, home directories |
| Software Packages | apt/dnf package install, upgrade, and removal from the browser |
| Filesystem / Disk | Mounts, fstab entries, disk usage, quotas, a web file manager |
| Linux Firewall | iptables, firewalld, or nftables rules depending on distribution |
| Apache Webserver | Virtual hosts, directives, module enablement |
| BIND DNS Server | Zones, records, forwarders on a self-hosted resolver |
| Postfix Mail Server | Mail routing, aliases, queue inspection |
| System Logs / Cron | Log viewing, scheduled jobs, systemd services |
Modules only appear when the underlying software is installed, and third-party modules can be added through Webmin Configuration.
Virtualmin: multi-site hosting on top of Webmin
Virtualmin is a Webmin module that turns the panel into a full hosting control panel: virtual servers (domains) with their own websites, mail accounts, databases, DNS zones, and Let's Encrypt certificates. It supports Apache or Nginx, multiple PHP versions, and per-domain backups. Two editions exist: Virtualmin GPL, which is free and community-supported, and Virtualmin Pro, a paid edition sold through the Virtualmin shop that adds installer scripts, reseller accounts, and vendor support. For anyone evaluating Webmin as a cPanel replacement for shared hosting, Virtualmin is the piece that closes the gap — plain Webmin has no per-domain hosting model.
Usermin, a related project from the same authors, gives end users a limited self-service panel (mail, passwords, files) on port 20000.
Webmin vs cPanel
| Factor | Webmin (+ Virtualmin GPL) | cPanel/WHM |
|---|---|---|
| Cost | $0 — BSD-licensed; Virtualmin GPL also free | Paid license, priced per account tier, billed monthly per server |
| Hosting automation depth | Good with Virtualmin; fewer one-click integrations, smaller third-party ecosystem (billing panels, plugins) | Deepest ecosystem: WHMCS billing, app installers, migration tooling, broad host adoption |
| OS support | Debian, Ubuntu, RHEL/Alma/Rocky, and other Unix-like systems, including FreeBSD and Solaris derivatives | AlmaLinux, Rocky, CloudLinux, Ubuntu LTS only |
| Support availability | Community forums; paid support only via Virtualmin Pro | Vendor support included with license |
| Scope | General server administration plus hosting (with Virtualmin) | Purpose-built for web hosting accounts |
The pattern: Webmin wins on cost and breadth of OS coverage; cPanel wins on hosting-specific automation and commercial support. A fuller treatment of cPanel's licensing and feature set is in our cPanel guide.
Security notes
- Do not expose port 10000 to the internet. Reach the panel through a VPN, an SSH tunnel, or restrict access to known IPs — Webmin's own IP Access Control page or a firewall allow-list both work.
- Keep it updated. Webmin has had serious vulnerabilities in the past, including a backdoored release (CVE-2019-15107) injected through a compromised build server. The repo-script install method keeps the package on the normal apt/dnf update path, which is the main reason to prefer it over a one-off .deb or .rpm download.
- Use two-factor authentication. Webmin supports TOTP under Webmin Configuration > Two-Factor Authentication.
- Limit who can log in. Panel logins are root-equivalent; restrict Webmin users to the modules they need via the Webmin Users module.
FAQ
Is Webmin free?
Yes. Webmin is released under the BSD license with no paid tier for the core product. Virtualmin, the hosting layer built on it, has a free GPL edition and a paid Pro edition.
What port does Webmin use?
Port 10000 over HTTPS by default, configurable in Webmin Configuration > Ports and Addresses. Usermin defaults to port 20000.
Is Webmin a cPanel alternative?
For general server administration, yes. For shared or multi-domain hosting, Webmin plus Virtualmin is the comparable stack — plain Webmin has no per-domain account model.
Which operating systems does Webmin run on?
Debian, Ubuntu, RHEL, AlmaLinux, Rocky Linux, and most other Unix-like systems, including FreeBSD. The official packages target the apt and dnf families.
Our Microsoft-certified team delivers seamless migrations with zero downtime.
Expert Migration ServicesTopics

Sreenivasa Reddy G
Founder & CEO • 15+ years
Sreenivasa Reddy is the Founder and CEO of Medha Cloud, recognized as "Startup of the Year 2024" by The CEO Magazine. With over 15 years of experience in cloud infrastructure and IT services, he leads the company's vision to deliver enterprise-grade cloud solutions to businesses worldwide.
More in Hosting Solutions
View all
Apache vs Tomcat: Differences & When to Use Each
9 min read

Node.js Hosting: Options, PM2 & Server Setup
9 min read

Apache Tomcat: Download, Setup & Versions
10 min read

IIS SSL Certificate: Install, Bind & Renew
9 min read

MySQL Support: Oracle Tiers, Contacts & Options
8 min read

MySQL Performance Tuning: Slow Queries, InnoDB & Config
10 min read