How to Choose a Control Panel
Updated by Linode Written by Nathan Melehan
What is a Control Panel?
On Linux systems, a control panel is a graphical user interface (GUI) that displays a simplified set of controls for your system. Control panels are capable of installing, configuring, and updating common software packages and performing Linux system administration tasks. Common features are:
Logging, monitoring, and analytics
Why Use a Control Panel?
The GUI provided by a control panel helps beginner Linux users run a server without needing expertise with the command line interface. These GUIs hide much of the complexity inherent in Linux administration, and they often provide one-click interfaces for processes that would otherwise involve a number of steps.
Some control panels also offer a command-line interface (CLI) which perform equivalent functions to those exposed by the GUI. These tools provide a compromise between the convenience of the control panel’s higher-level functionality and the automation capabilities of the command line.
Control panels often come with robust community support networks. In some cases, the organizations that author the control panel software also provide optional paid support packages.
Caveats when Using a Control Panel
Control panels often enforce a specific style of directory structure and configuration syntax across your server. Any changes you make to your server should be via the interfaces provided by the control panel. Any changes you may make outside of those interfaces are likely to be overwritten or ignored by the control panel.
Control panels generally should not be installed on existing servers with software and services already installed. Instead, install control panels on new deployments.
Control panels are generally simple to use, but they can also have their own amount of complexity that needs to be accounted for.
Some control panels require a paid subscription to use.
Some control panels are only compatible with specific Linux distributions.
How to Choose a Control Panel
When considering which control panel to use, review the following factors:
Cost to use the control panel, if any.
User interface: Does the control panel’s UI appeal to you, and is it easy to understand?
Features available in the control panel.
Community support: Is there is a community forum, and do the members seem friendly/helpful?
Documentation: Is it easy to understand, and are there articles for most/all of the features?
Paid support (if desired): Is it available, and what is the cost?
Frequency of updates: Is the control panel actively maintained, and are security updates promptly issued?
Distributions supported: Can you install the control panel on your preferred Linux distribution?
Control Panel Comparison
There are a large number of control panels that have been published over time, but some do not meet the criteria listed above. Here are a few popular options to consider:
|Control Panel||Cost||Supported Linux Distributions|
|CPanel||From $20/month||CentOS/RHEL, CloudLinux|
|Plesk||From $10/month||CentOS/RHEL, CloudLinux, Debian, Ubuntu|
|VestaCP||Free, paid support available||CentOS/RHEL, Debian, Ubuntu|
|Virtualmin||Free, Virtualmin Pro available from $6/month||CentOS/RHEL, Debian, Ubuntu, SuSE|
CPanel is a proprietary, closed-source, privately-owned control panel first released in 1996.
CPanel is actually composed of two products:
- CPanel itself, which is an interface for managing software, files, services and so on (e.g. a web server, email server, etc).
- WHM (short for Web Host Manager), which provisions separate CPanel accounts. Multiple CPanel accounts can be present on one server, and WHM is the administrative interface for higher-level functions for managing those accounts.
Each CPanel account is correlated with a primary domain that its services are assigned to. Additional secondary domains can be assigned to a CPanel account via addon domains.
WHM is often used by web hosting resellers. In this capacity, you use WHM to create CPanel accounts on your Linode and sell access to them to clients. WHM allows you to create custom visual branding for the account so that you can represent your reselling business to your clients in their CPanel interface.
CPanel’s subscription cost starts at $20/month. When buying a subscription for use on a Linode, choose the VPS license type. A free CPanel subscription is also included for each of your Linodes if you are a Linode Managed subscriber.
Plesk is a proprietary, closed-source, privately-owned control panel first released in 2001.
Like CPanel, Plesk provides the ability to create individual customer accounts, and these customer accounts can configure web services, email services, and other applications. Beyond this core functionality, Plesk can also orchestrate multi-server deployments. In this configuration, a Plesk management node coordinates with individual service nodes.
Virtualmin is related to and built on top of Webmin, and the relationship between the two is similar to WHM and CPanel. Webmin is an interface for common control panel functions, and Virtualmin is used to manage multiple Webmin users.
Virtualmin Pro starts from $6/month for 10 domains, and tiers with higher numbers of domains can be purchased. Virtualmin Pro includes more installable applications, a WYSIWYG website editor, and premium support. A full comparison of features between Virtualmin, Virtualmin Pro, and other control panels is listed on the Virtualmin marketing site
Once you’ve decided on a control panel, deploy a Linode and follow the appropriate installation instructions:
As a reminder, this guide only presents a few options from the many different control panels that are available, so you may wish to continue researching other products.
Join our Community
This guide is published under a CC BY-ND 4.0 license.