This site is dedicated to Virtualmin, a powerful and flexible Open Source web-hosting control panel that allows you to easily manage virtual servers (domains), databases, DNS, Virtual mailboxes & Mailservers, configure Apache webserver,  PHP, etc from the web-browser.

If you are familiar with some of the popular commercial control panels such as Plesk, CPanel/WHM or DirectAdmin,  Virtualmin is the Open Source Alternative to these pricey web-hosting control panels.

But Virtualmin does not operate alone – it is actually built on-top of Webmin, a powerful set of Perl scripts that enables you to administer Linux and/or Unix Systems from the web-browser. It’s intuitive web-based interface masks complexity of having to remember cryptic command line arguments or configuration files’ syntax.

If you are wondering what’s the difference between Virtualmin and Webmin, you’re not alone. This is a source of confusion for most people because many of the “functions” (and menus) in the Virtualmin/Webmin interface overlap. The menus also share similar names which further adds to the confusion.

A helpful free Open Source Web Hosting Control Panel  is a powerful and flexible web hosting control panel for Linux and UNIX systems based on the well-known Open Source web-based systems management GUI, Webmin. Manage your virtual domains, mailboxes, databases, applications, and the entire server, from one comprehensive and friendly interface.

The following explanation may be helpful …


Webmin is the Control Panel to manage the physical server (or VPS).  The system administrator uses the Webmin interface to manage the daily running & management of the server – such as updating system software, configuring various start-up/shutdown services, adding/editing/deleting users, installing firewall, monitoring services, etc.  It is the control-panel for the SERVER.


Virtualmin is the Control Panel for managing Virtual Servers (Hosting Accounts) that resides on the physical server (node) or VPS. It “sits on top” of Webmin and uses many of the built-in Webmin functions to create Virtual Servers with just a few clicks (similar to CPanel/WHM).

If you were to create a virtual server manually, you would need to:

  • edit the Apache config file to add the virtual host
  • create the MySQL database , add a database user and configure the relevant permissions
  • create the DNS zone, edit the zone files and host records
  • configure Postfix or Exim to support virtual domains & create the virtual mailboxes for the users
  • etc

Even with Webmin, you’d still have to click on various menus to set up each of those steps mentioned above. But Virtualmin makes things easy by combining all those steps into a few forms where you enter the domain details, check a few boxes and click the “create” button to setup a fully functional Virtual Server.

Why I love Virtualmin …

Besides the $0 price tag (who doesn’t love “FREE”?) – I love Virtualmin because it is extremely flexible and it is “standards” based, in other words – it doesn’t mess with the various configuration files that comes standard on a stock CentOS or Ubuntu server unlike Cpanel or Plesk.

If you’ve used Cpanel or Plesk before, you’ll know what I mean – you might spend hours tweaking a configuration file, and found out much later that all the changes you’ve made were discarded because of the Cpanel Update or that Cpanel reads another configuration file from  the /usr/local/cpanel or /var/cpanel/ or some other location.

With Virtualmin, it doesn’t change the location of the standard configuration files – it merely provides the web-interface for you to manage them, i.e. if you were to manually edit those files, Virtualmin will honor those changes and won’t clobber them when you use it to make further changes.

In other words, your CentOS server remains a CentOS server, and your Ubuntu server remains a Ubuntu server. Virtualmin provides the web-based ‘management layer’ on top of your server.  In contrast, when you install Cpanel or Plesk, your server becomes a “Cpanel Server” or a “Plesk Server” – it is no longer a pure CentOS server.