Virtualmin GPL is already an extremely powerful and flexible virtual hosting control panel, so we’re frequently asked about the differences between Virtualmin GPL and Virtualmin Professional. So, if you were wondering whether you should upgrade, you’ve come to the right place.

Key attributes of professional features

Before going into specifics, we wanted to explain our philosophy on determining which features are included in both GPL and Professional, and which features are reserved for our paying customers. A feature is “professional”, if any of the following are true:

  • It is really only useful in a commercial environment. We figure if you’re using Virtualmin to make money, we’d like to make a little bit, too, so we can keep working on it, making it better, and releasing new versions. So, if it’s obviously about making money, it’s a candidate for only being in Virtualmin Professional. This doesn’t mean all fiscally motivated features are excluded from GPL, but it is a starting point. Reseller Accounts are an example of this type of feature.
  • It costs us a lot of time and effort to keep it working. Install Scripts are the best example of this characteristic. Because there are so many, and because there are new versions that have to be deployed and tested every few days, we simply have to have revenue to support it.
  • It was an extremely large, and extremely expensive, feature to develop in the first place. This is a special case, and features that fit this description might end up in GPL eventually. A large number of the features you find in GPL today came about through this process. Mail processing is one example, as is PHP with suexec and mod_fcgid management.

Reseller accounts

One big difference in Virtualmin Professional is the addition of a reseller account type.

This allows you to create users that can create users. These users can then be managed by the master administrator (root, and equivalents), or the reseller that created the account. These created users can also be re-assigned to other reseller accounts, or removed from control of the reseller, at any time by the master administrator.

It’s worth pointing out that some users think they need this feature to allow users to create their own additional websites, but that’s not the case. Both versions of Virtualmin allow users to create and manage their own websites (whether they are full featured sub-servers that have different content or aliases that point to an existing website). So, if you just need to allow unprivileged users to create new domain-based websites (and mail accounts, and everything that goes along with a website), reseller accounts are not necessary. Regular Virtualmin accounts, available in both GPL and Professional will work fine.

If you are a hosting provider, and you want to allow web developers to resell your services, you’ll need Virtualmin Professional. Some large enterprise environments might find the reseller features useful for delegating web hosting management to local administrators or supervisors. We’ve also seen a few universities, colleges, and K12 schools use it for similar delegation. So, it’s not just for reselling, but if you aren’t a hosting provider, this feature probably won’t be necessary.

New reseller email

This feature is used to edit the template for the email message that can be sent to a new reseller account after it is created.

Enhanced user management

Easily manage SSH public keys directly from the user interface and set up database and webserver users independently, without the need for Unix account setup.

Manage SSH public keys

This feature allows you to manage SSH public keys for users, which can be used for passwordless login to the server over SSH.

Manage extra database users

This feature allows you to create and manage additional database users for a virtual server, which can be used to access databases without the need for creating a separate Unix user.

Manage extra webserver users

This feature allows you to create and manage additional webserver users for a virtual server, which can be used to access website directories securely without the need for creating a separate Unix user.

Install scripts

Virtualmin Professional provides automated installation of dozens of installable web applications, including blogs, wikis, content management systems, ad servers, ecommerce systems, and more.

  List of installable scripts
b2evolution7.2.5A multilingual multiuser multi-blog engineBlog
Booked2.8.6.1A web-based resource scheduling system that allows administered management of reservations on any number of resources, such as conference roomsCalendar
Bugzilla5.1.2Bugzilla is server software designed to help you manage software developmentTracker
CMS Made Simple2.2.19CMS Made Simple makes it easy to set up a site and then hand it over to non-techies to maintainCMS
Coppermine1.6.26Coppermine is a multi-purpose fully-featured and integrated web picture gallery script written in PHPPhotos
Django5.0.4Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic designDevelopment
DokuWiki2024-02-06aDokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating documentation of any kindWiki
Dolibarr17.0.4Dolibarr ERP/CRM is a powerful Open Source software to manage a professional or foundation activity (small and medium enterprises, freelancers)Commerce
dotProject2.2.0An open source project management toolProjects
Drupal10.2.5A full-featured content management/discussion engine suitable to setup a news-driven community or portal siteCMS, Community, Commerce
eGroupWare23.1.20240125EGroupware is a enterprise ready groupware software for your networkCalendar
eXtplorer2.1.15eXtplorer is a web-based File Manager
Feng Office3.10.8.21A full-featured content management/discussion engine suitable to setup a news-driven community or portal site
Flyspray1.0-rc11Flyspray is an uncomplicated, web-based bug and task tracking systemTracker
Foswiki2.1.8Foswiki is the free and open source enterprise collaboration platform, a fork of TWikiWiki
Friendica2024.03Friendica a decentralized social network communications platformCommunity
Gallery3.1.5Gallery is a web based software product that lets you manage your photosPhotos
Ghost5.82.0Ghost is a powerful open source app for new-media creators to publish, share, and grow a business around their contentBlog
Grav1.7.45Grav is a free software, self-hosted content management systemCMS
Heimdall2.5.6Heimdall Application Dashboard is a dashboard for all your web applications.
ionCube13.0.2IonCube is a PHP module extension that loads encrypted PHP files and speeds up webpages that are being displayed
Joomla5.0.3Joomla is an open source content management systemCMS
LimeSurvey6.5.1+240320LimeSurvey is a set of PHP scripts that interact with MySQL to develop surveys, publish surveys and collect responses to surveysSurvey
Magento2.4.6Magento is a new professional open-source eCommerce solution offering unprecedented flexibility and controlCommerce
Mantis2.26.1Mantis is a free popular web-based bugtracking systemTracker
Matomo5.0.3Matomo is an open source web analytics software. It gives interesting reports on your website visitors, your popular pages and more
Mautic4.4.10Marketing Automation Software
MediaWiki1.41.1MediaWiki is a free Wiki software package, used to run WikiPediaWiki
MoinMoin1.9.11Advanced, easy to use and extensible WikiEngine with a large community of usersWiki
Moodle4.3.3Moodle is a course management system (CMS) to help educators create effective online learning communitiesCMS
Movable Type8.0.2The Movable Type platform makes it easy for you to both author content and interact with your community of readersBlog
MyBB1.8.37MyBB is a free and open source, community-based forum software project managed, developed, and supported by volunteersCommunity
Nextcloud28.0.4Nextcloud gives you universal access to your files through a web interface or WebDAV
Node.js21.7.1Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applicationsDevelopment
OpenCart4.0.2.2A powerful open-source shopping cart system that is designed to be feature rich and user friendlyCommerce
osTicket1.18.1osTicket is a widely-used open source support ticket system
ownCloud10.14.0ownCloud gives you universal access to your files through a web interface or WebDAV
PHP-Calendar2.0.13A web-based calendar and event scheduled written in PHPCalendar
phpBB3.3.11A high powered, fully scalable, and highly customizable Open Source bulletin board packageCommunity
PHPList3.6.14PHPlist is a web application that implements a personalised mailing list manager or customer relationship management (CRM) systemEmail
phpMyAdmin5.2.1A browser-based MySQL database management interfaceDatabase
phpMyFAQ3.2.6phpMyFAQ is an open source FAQ system using PHPHelpdesk
phpPgAdmin7.13.0A browser-based PostgreSQL database management interfaceDatabase
Piwigo14.3.0Piwigo is a photo gallery software for the web. It comes with powerful features for publishing your photos and smart browsing capabilities such as categories, tags, or chronologyPhotos
Pydio8.2.5Pydio turns your web server into a powerful file management system
RainLoop1.17.0RainLoop is a simple, modern and fast web-based email clientEmail
Revive Adserver5.5.1Revive Adserver is an open-source ad server, with an integrated banner management interface and tracking system for gathering statisticsCommerce
RoundCube1.6.6RoundCube Webmail is a browser-based multilingual IMAP client with an application-like user interfaceEmail
Simple Machines Forum2.1.4Simple Machines Forum (SMF) is a free, professional grade software package that allows you to set up your own online community within minutes.Community
SquirrelMail1.4.22 (Stable)SquirrelMail is a standards-based webmail package written in PHPEmail
SuiteCRM8.5.1A powerful open-source package for managing customer relationshipsCommerce
Textpattern4.8.8A free, flexible, elegant, easy-to-use content management system for all kinds of websites, even weblogsBlog
TikiWiki26.2A full featured free software Wiki/CMS/Groupware written in PHPWiki
Trac1.4.4Enhanced wiki and issue tracking system for software development projectsTracker
TWiki6.1.0TWiki is a flexible, powerful, and easy to use enterprise collaboration platformWiki
TYPO3 CMS12.4.10TYPO3 CMS is a free and open-source web content management systemCMS
Vtiger CRM8.0.0Vtiger CRM is an open-source web-based customer relationship management applicationCommerce
WebCalendar1.9.1A PHP application used to maintain a calendar for one or more persons and for a variety of purposesCalendar
webtrees2.1.19A web application that allows you to publish your genealogy online, collaborate with family members and take control of your data.Community
WHMCS8.7.3WHMCS is an all-in-one client management, billing & support solution for online businessesCommerce
WordPress6.5A semantic personal publishing platform with a focus on aesthetics, web standards, and usabilityBlog, CMS
X2CRM7.1X2CRM is a fast and compact marketing automation, sales force and customer service application powered by an easy to use website-optimized visual workflow engineCommerce
Xoops2.5.11-RC3XOOPS is a free open-source content management systemsCMS
YOURLS1.9.2YOURLS allows you to run your own URL shortening service
Z-Push2.7.1Z-Push is an open-source application to synchronize ActiveSync compatible devicesEmail
Zen Cart1.5.8aZen Cart is a full-function e-commerce application for your websiteCommerce
Zenphoto1.6.2Zenphoto is a standalone CMS for multimedia focused websitesPhotos, CMS
Zikula3.1.0Zikula allows you to build simple one-page websites to individual web applications utilising different types of extensions for making your project to something specialCMS

This feature is popular with pretty much everyone, because it’s just so convenient. Even we use this feature heavily, because even though we aren’t intimidated by most install procedures for applications, we also like to save time and hassle.

If you plan to run more than one or two web applications, this feature will come in very handy. It not only makes installation a snap, it also makes it easier to upgrade in most cases. For applications with an automate-able upgrade process, you can upgrade to the latest version with the click of a button. You can also have Virtualmin notify you when new versions become available, and mass-upgrade all installations of an application on your system.

Resource usage graphs

Another popular feature is the resource usage graphs. This makes it easy to see how well your server is performing, how much memory is in use, CPU load, email and spam delivery rates, and many more variables, over time. In a commercial environment, it is extremely important to know about performance problems before they begin to affect your users. Likewise, when problems occur, it is important to be able to isolate the source of the trouble quickly. Comprehensive resource usage graphs can make those tasks much easier.

Environment limitations

In addition to the basic Jailkit functionalities in the GPL version, Virtualmin Professional offers enhanced features for more control and flexibility. These include the ability to reset the jail environment to its minimal state, providing a clean slate for reconfigurations. It also allows for the selective inclusion of additional tools and commands from specific sections of the /etc/jailkit/jk_init.ini file, such as git or apacheutils. Furthermore, users can efficiently manage extra commands and directories, ensuring necessary dependencies are handled automatically for a seamless jail environment setup.

This expanded feature set in Virtualmin Professional provides a robust solution for users seeking advanced control and customization in server environment management, particularly for security and isolation capabilities.

Resource limits

This feature allows you to define limits on CPU and memory use that apply to this virtual server and all sub-servers. Limits apply to both PHP scripts, and commands run via an SSH login. They can be used to prevent any one domain owner from overloading the system with a fork bomb or commands that use an excessive amount of RAM.

External connectivity check

This feature checks the external accessibility of virtual servers, to run various tests to ensure that one or more virtual server’s web, DNS and mail servers are accessible from the rest of the Internet. This is useful for debugging various connectivity and configuration problems.

Search mail logs

This feature can be used to search the email logs for messages to some virtual server, or all servers if you are the master administrator, where you can select one or more of the following criteria, all of which must match: start date, end date, source address and destination address.

Cloud DNS providers

This feature is used to configure Virtualmin to use cloud DNS services (Cloudflare DNS, Google Cloud DNS, Amazon Route 53) other than your own system. These typically provide higher availability and faster DNS lookups to clients, for a cost per hosted domain.

Cloud mail delivery providers

This feature provides support for systems with dynamic IPs reliably send email by using outgoing SMTP providers, like Amazon SES.

Email server owners

This feature can be used to send email to the owners of the selected virtual servers, for example to announce system down-time, upgrades or other service alterations. Substitions such as ${USER}, ${DOM}, ${HOME} and other can be used in the message body and subject.

Mailbox cleanup

This feature can be used to setup a mailbox cleanup policy that applies to some or all virtual servers on your system. Unlike the per-domain spam and virus folder cleanup settings, this policy applies to all folders of all users in each chosen domain, including the inbox. Message deletion can be based either on a time threshold, or a maximum mailbox size. Deletion based on message age is an easy way to setup a retention policy to limit the maximum age of stored messages.

This feature allow the administrator to include additional links that appear in the left navigation menu when a virtual server is selected.

Secondary mail servers

This feature is used to add a secondary mail server that can also receive email for one of the virtual servers managed by Virtualmin, but only as a temporary relay rather than the final destination. It is wise to setup a secondary server for heavily used mail domains, to act as a backup or holding place in case the primary mail server is down.

Disk quota monitoring

This feature can be used to set up regular automatic checking of virtual servers that have reached or are approaching their disk quotas. It is most useful on systems that do not have group quota support, and thus depend on manual enforcement to ensure that servers do not use more than their allowed disk space.

Batch create servers

This feature allows you to create multiple virtual servers at once from a text file.

Backup encryption keys

This feature is used to create and manage GPG keys that Virtualmin can use to backup virtual servers. Encryption protects the contents of your backups when they are stored on an untrusted remote system (such as S3), and detects unauthorized modifications.