Install Virtualmin on a clean operating system using its current automated installer and a supported software bundle. Virtualmin manages websites and related hosting services through Webmin; it is not itself a virtual-machine hypervisor despite the name.
IN THIS ARTICLE
Check access and requirements
Use an authorized self-managed server with console access. Choose a current Grade A operating system from the Virtualmin support matrix, confirm its vendor support lifecycle, and size the machine for websites, mail, databases and backups. A full mail stack needs substantially more resources than a small web-only installation.
01 Install Virtualmin on a supported clean server
- Prepare a fresh minimal server without another hosting panel or existing production stack. Set the assigned network configuration and a stable fully qualified hostname, such as
panel.example.com. - Publish the correct hostname DNS records and confirm resolution. Decide whether the deployment will use Apache/LAMP or nginx/LEMP; changing that choice later requires significant work.
- Download
virtualmin-install.shusing the official Virtualmin download page over verified HTTPS. Inspect the script and its current--helpoutput, then select the supported stable branch and bundle. - For a standard Apache installation, the documented invocation is
sudo sh virtualmin-install.sh --bundle LAMP. Choose minimal installation only when you intentionally use external services for the omitted mail, DNS or other components. - Review installer prompts, package changes and any proposed swap configuration. Do not bypass an unsupported operating-system check or certificate validation to force installation.
- Wait for completion and preserve the installation result. Open the advertised HTTPS hostname on the configured Webmin port, normally 10000, using a permitted administrator account.
- Complete the post-install wizard and configuration check before creating production domains. Configure a valid hostname certificate, restricted administrative access and independent backups.
Can I install it over an existing website server?
The automated path expects a fresh system. An existing stack needs a carefully engineered manual integration or, usually more predictably, migration to a new prepared server with backups and testing.
Does Webmin replace SSH security?
No. It is another privileged administration interface. Keep it updated, use HTTPS and strong authentication, restrict network exposure where practical, and retain a tested console recovery route.
Confirm the expected result
Confirm Check Configuration succeeds or that every reported issue has a documented resolution. Create a limited test domain, test its runtime and database connection, and prove that a backup can be retrieved and restored. Record the selected installation bundle and repository policy.
Resolve setup problems
For failure, preserve the first installer error and investigate repository connectivity, DNS, package conflicts or resource pressure. Do not force a complete reinstall over a populated server. If a clean empty instance must be rebuilt, fix the original cause before repeating the supported installation.