About

Virtualmin is a Webmin module for managing multiple virtual hosts through a single interface, like Plesk or cPanel. It supports the creation and management of Apache or Nginx virtual hosts, BIND DNS domains, MySQL and MariaDB databases, and mailboxes and aliases with Postfix or Sendmail. It makes use of the existing Webmin modules for these servers, and so should work with any existing system configuration, rather than needing it’s own mail server, web server and so on.

Virtualmin can also create a Webmin user for each virtual server, who is restricted to managing just his domain and its files. Webmin’s existing module access control features are used, and are set up automatically to limit the user appropriately. These server administrators can also manage the mailboxes and mail aliases in their domain, via a web interface that is part of the module.

License

Two versions of Virtualmin exist, under separate licenses:

  • Virtualmin GPL This is the freely downloadable version, licensed under the GPL. It is under active development, but does not contain all of the features of the Pro version.

  • Virtualmin Pro This is the commercial version that you have to pay for. It includes numerous features not in the GPL version:

    • 60+ installable scripts (Django, Drupal, Ghost, Grav, ionCube, Joomla, Magento, Matomo, Mautic, MediaWiki, Moodle, MyBB, Nextcloud, Node.js, phpBB, TikiWiki and many other)
    • Reseller accounts
    • Resource limits control
    • Cloudflare and Google DNS support
    • Google Storage, Backblaze and Dropbox
    • GPG encrypted backups
    • Cloud mail delivery with Amazon SES
    • Proxy paths management
    • Disk quota monitoring
    • Connectivity check tool
    • Announcement emails to server owners
    • Automatic users mailbox cleanup
    • Mail logs searching
    • Batch server create and modify
    • Extended System Statistics
    • Premium private ticket support

Both the Pro and GPL versions are built from the same codebase, so all bugfixes and some new features go into both of them.

Changelog

Virtualmin changelog can be filtered out using tags.

Automated Installation

Getting started with Virtualmin can be done with a few simple steps, using our automated install script. The install script will setup your package manager, usually apt-get or dnf and then download our packages as well as all of the necessary dependencies for running Virtualmin.

How to install?
Documentation on supported systems and installation requirements is available in our Virtualmin download page.

Manual Installation

The manual installation process is described in detail on our official Virtualmin website. Nevertheless, the strongly recommended way of installing Virtualmin on a supported operating system is to use the Virtualmin automated install script, which takes care of all dependencies and configuration.

Packages

These GPL packages should not be installed directly unless you really know what you’re doing. Use Virtualmin automated install script instead as described above.

If you are interested, older versions of Virtualmin are also available.

Plugins

A plugin is a Webmin module that adds some functionality to Virtualmin. Typically a plugin will add a new feature that can be activated for a virtual server.

To use a plugin, first download and install it in the same way as you would for any other Webmin module. Then open up the Features and Plugins page in Virtualmin, and select the new plugin from the list of those available. Once this is done, the capabilities of the plugin can be enabled for some or all virtual servers, on the Edit Virtual Server page.

The best place to find plugins in case of manual installation is in the Virtualmin repository.

Developing Plugins

The requirements for implementing a plugin are fully documented in the Virtualmin module developers guide.