Virtualmin virtual-server web hosting control panel module for Webmin.
Virtualmin is a full-featured open source web hosting control panel for Linux and *BSD systems. This is the core virtual-server module, and there are a couple dozen additional plugins for Virtualmin, to provide additional features, like nginx support, SQLite and Oracle database support, support for other DNS and mail servers, etc. You'll need a full LAMP (or LEMP) stack, plus Webmin, to make this useful. There is an easy to use install script available from Virtualmin.com that will install everything you need on supported platforms (CentOS, Ubuntu, and Debian, at this time).
We strongly recommend you run Virtualmin on one of these Linux distros, and start with the install script. Setting up a full-featured virtual hosting system is extremely complex, with dozens of packages and configuration files. Even if you can do it, you probably shouldn't. That said, we welcome help adding support for other distros and versions. Check out the Virtualmin Install project for details on development.
Virtualmin includes the following features (and more):
Virtualmin has been under consistent development since ~2003, averaging a new release every couple of months.
Virtualmin has active forums at https://forum.virtualmin.com
For commercial support, Virtualmin Professional subscriptions are available starting at $7.50/month, and include unlimited support tickets in our issue tracker. Hands-on support, custom development, etc. may also available at hourly or project rates, depending on developer availability.
Bugs can be reported here at github in the issue tracker. Please email security-related bug reports to security@webmin.com.
The best way to extend Virtualmin is usually through plugins. Virtualmin plugins are merely Webmin modules, with a few extra files, and some hooks into the Virtualmin API. Webmin module development is documented in the Webmin Wiki, and lots of example plugins exist in our other repos (e.g. virtualmin-nginx is a good example of extending core functionality with plugins).
Virtualmin is mostly built in Perl 5.16+, with the frontend built in JavaScript and HTML5. It is possible to build Virtualmin components or to interact with Virtualmin in other languages, either via the CLI or remote API, or through reproducing the necessary pieces of the Webmin library in your preferred language (partial implementations of this exist in Python and PHP).