Choose a hosting control panel

The hosting control panel is a software tool that allows you to manage the web server and the sites hosted on it through a graphical interface. Using the control panel, you can perform operations such as managing mail services, FTP accounts, databases, adding and removing domains and subdomains, downloading files, viewing traffic statistics, setting up predefined scripts and others.
As a separate product, hosting control panels became widely used in the late 1990s. Since then, they have greatly changed and improved. Today on the market there are a huge number of hosting management solutions - both free and proprietary. How to choose a really worthwhile product from all this diversity?
You can find publications on the Internet that compare existing panels (for example, good translation material ; see also here ). We decided to create our own review, in which the emphasis is placed somewhat differently than in previously published ones. One of the main criteria underlying our review is the panel support for web servers and their combinations. In addition, in our article we consider products that are not included in the publication on the links above.
ISP Manager
Developer : ISP System Company
First version : 1997
Last version : 5.17.4 (July 2014)
Supported OS : Linux, Free BSD, Windows
License : Proprietary
Official website : http://ispsystem.com
To install ISP Manager, it is enough to download a special script from the official website from the console and run it, and after launch specify the required version (4 or 5) and edition (Lite or Pro). In version 4, installation is done through the console, and in version 5 it is different: when you select the minimum option, a link is displayed on the console that you need to open in the browser and continue the installation by selecting the necessary components. Note that, unlike the fourth, the fifth version has a modular structure: only the Core component is mandatory. Based on it, you can already choose other components used - for example, ISP Manager Pro or Lite (there are other components that will not be considered in this article). However, when you select the recommended installation option in the console, all the necessary components will be installed automatically.
By default, the Apache web server is used. Nginx is installed additionally (for this you just need to go to the section "Server Settings" -> "Features"):

After installation, it automatically becomes a frontend, and Apache becomes a backend. This is done in order to separate the different functions between Nginx and Apache: Nginx does a very good job of supporting multiple sessions and delivering static content (pictures, music, video, etc.), Apache has extensive capabilities for supporting dynamic data.
After that, Apache will start listening on port 81 (in the fifth version, on 8080), which makes it possible to access it directly without using Nginx. To do this, simply specify the desired port in the address bar of the browser, for example example.com : 81 /.
For security reasons, after installing Nginx, it is advisable to use iptables to block access to the server on port 81, leaving only the local (127.0.0.1) and external IP addresses of the server as allowed. This can be done in the panel itself through the graphical interface in the firewall section:

Some users prefer in this case to change the address for apache to local (127.0.0.1), leaving port 80. It is not recommended to change the system settings, which can be returned to the standard in case of any updates to the control panel.
Unlike version 4, version 5 uses an independent web server that provides the control panel and is in no way associated with either Apache or Nginx. That is why you can refuse to use Apache. You only need to configure the site to work in conjunction with Nginx + php-fpm. However, keep in mind that php-fpm cannot completely replace apache. For example, when switching to php-fpm, the functions of converting URLs to human-readable (implemented through mod_rewrite in Apache) must be processed by the Nginx web server.
The advantages of the fifth version include the ability to directly edit the Apache and Nginx configuration files for the selected domain, so that for each domain you can set individual settings that will not apply to the rest.
Also, the undoubted advantages include support for web scripts in APS format , with which you can install a ready-made CMS for a selected domain in semi-automatic mode. The user only needs to select the desired application from the list and specify the necessary parameters for it (the created database, user, password, etc.).
Among other advantages of ISP Manager, you should also mention the presence of a wide range of functions for managing the server, ease of transferring accounts between hosting services, a convenient multilingual interface, detailed and understandable documentation.
The disadvantages include the limited firewall management features and its default inactivity. Although the firewall control module is activated at the stage of panel installation, the rules are inactive by default. To activate them, you must make at least one change to the list of existing rules from the control panel (for example, as described above).
Plesk panel
Developer : SWSoft , today distributed by Parallels.
First version : 2003
Last version : 12.0.18 u4 (July 2014)
Supported OS : Сentos, OpenSUSE, CloudLinux, RHEL, Debian, Ubuntu, Windows
License : Proprietary
Official website : http: //sp.parallels.com/en/products/plesk/
To install Plesk Panel, just download the installation script from the official site and run it from the console.
Out of the box, the Nginx + Apache bundle is supported, no additional configuration is required. You can immediately create a domain and upload site content. If, after installing the panel, you also install an additional firewall module, then the rules immediately restricting access to the Apache web server will be applied.
Operation in Nginx + php-fpm mode is possible, but for this you need to install the php-fpm support component from the Parallels installation and update page:

and specify for the selected domain that php files should be processed using Nginx:

Like ISP Manager, Plesk Panel allows Install the necessary web applications (APS) from the control panel itself, thereby reducing user actions to prepare the site to a minimum.

Among the advantages of Plesk it is worth highlighting a convenient interface, a rich set of functions, the presence of numerous extensions (addons) installed directly from the control panel.
There is only one drawback: overloading with modules that most end users are unlikely to need.
Ajenti
Developer : Eugene Pankov
First version : 2010
Latest version : 1.2.20 (April 2014)
Supported OS : Debian 6.0 and higher, Ubuntu 10.04 and higher, CentOS 6.0, RHEL, FreeBSD, ArchLinux, Gentoo
License : GNU LGPL
Official website : http://ajenti.org/
Ajenti is an environment for performing administrative tasks on a server through a web interface. The sites are maintained and managed using the Ajenti-V add-in, which can also be used to manage the Nginx web server.
To install Ajenti, just download from the official sitescript and run it for execution. The desired repository will be connected automatically; all necessary packages will be installed from it. Ajenti-V packages must be installed separately:
# apt-get install ajenti-v ajenti-v-nginx ajenti-v-mysql ajenti-v-php-fpm # service ajenti restart
By default, Ajenti-v is designed to work with the Nginx web server in conjunction with php-fpm, wsgi, puma, unicorn, node.js. Apache is supported, but this support is minimal: the user only gets access to the configuration file responsible for the operation of the selected domain:

Nginx in this case should be configured to work as reverse proxy:

For users who do not have experience editing direct configuration files, at this point may have problems. The web interface with which Nginx parameters are edited may seem unusual, and most likely it will not work to configure everything correctly the first time: you will need to edit the settings several times from the web interface and then view the files generated by Ajenti-v and compare the result with conceived.
The interface for configuring embedded interpreters (for example, php-fpm or uwsgi) is better arranged, but there is also a high probability of encountering all kinds of surprises. But after the first acquaintance, experienced users will be able to appreciate this minimalistic approach and its convenience.
Of the advantages of Ajenti, we call a large set of functions for managing web servers and sites, expandable with additional modules and plugins. The panel features a convenient web interface implemented on AJAX. Ajenti is a generally convenient environment, not overloaded with settings and settings, so that even beginners can easily understand it.
The only significant drawback is the difficulties mentioned above with editing configuration files for inexperienced users.
The project is developing and improving intensively with each new version. We consider Ajenti a very promising product and recommend that you familiarize yourself.
Vesta cp
Developer : Vesta company
First version : 2012
Last version : 0.9.8−10 (August 2014)
Supported OS : RHEL 5.x, 6.x; CentOS 5.x, 6.x; Debian 7
Ubuntu LTS 12.04, Ubuntu 12.10, Ubuntu 13.04, Ubuntu 13.10
License : GNU GPL; additional support is provided for a fee
Official website : http://vestacp.com/
As in the case with the previous panels, just install the script to installand run it. Further, everything happens in automatic mode. If necessary, additional repositories are connected. If any necessary components have already been installed before, backup copies of all configuration files that were affected during their installation will be saved in the / root / vst_install_backup directory.
Vesta CP differs from all the panels discussed above in the first place, in that in it all operations performed through the browser can also be performed through the console, and secondly in that it uses the Apache mod_ruid2 module. All console utilities are located in the directory / usr / local / vesta / bin /; their names begin with the prefix “v-”, for example v-add-user, v-change-database-password, etc.
The Apache mod_ruid2 module already mentioned above deserves separate consideration. You can write an entire article about him; here we restrict ourselves to a brief description, but this will be enough to understand the specifics of Vesta CP. When many users coexist on one server, and all their sites are served by only one web server, the problem of differentiation of rights when executing php scripts arises. Usually this problem is solved by executing scripts through suexec and suphp. The advantage of mod_ruid2 is that it works directly with mod_php, which provides faster execution speed.
Also for mod_ruid2, you can specify an additional group (for example, the one on whose behalf the Apache process is running) - this may sometimes be required to install some CMS.
This module has a significant drawback: if there are vulnerabilities, it is theoretically possible to gain root access through it. The developer of mod_ruid2 himself, for security, suggests using the grsecurity kernel patches .
Despite the fact that this module is still in a somewhat “raw” state, it is becoming more common and popular. This can be evidenced even by the fact that it is already used in the CPanel panel as one of the php handlers.
After installation, you do not need to configure anything additionally, you only need to specify the main NS-servers. By default, when creating a site, the Apache web server is used, the Apache + Nginx bundle is also supported:

Nginx + php-fpm mode support is not yet available, the implementation is promised in the next release .
Despite the minimal interface, VestaCP provides all the necessary tools for creating and managing a site: user management, creating domains and databases. Some operations (such as, for example, setting php parameters) will still have to be performed using the console. Among the advantages of VestaCP, we single out a quick work from the point of view of the user, ease of installation and updating, and a good forum of technical support.
Only one of the shortcomings can be distinguished: the absence of at least a brief description of the templates from the list specified for Apache, Nginx and DNS. However, this minus is not so significant: all the necessary information can be found in official documentation , and the default templates are suitable for most cases.
Vesta CP is developing rapidly; let's hope that in the near future it will become more functional and convenient.
Cpanel
Developer : cPanel Inc.
First version : 1996
Last version : 11.44.1.17 (August 2014)
Supported OS : Pentos 5.x, 6.x, RHEL 5.x, 6.x, CloudLinux 5.x, 6.x, FreeBSD (from 30.09 .2012 support has been discontinued), there is a version for Windows (not supported since February 2014)
License : proprietary
Official website : http://cpanel.net/
CPanel differs from the above-mentioned panels in a complicated installation procedure. Before downloading from the official site and running the installation script , you will need to make preliminary preparations: disable SELinux, install Perl, set the fully qualified domain name (fqdn) in the / etc / sysconfig / network and / etc / hosts files.
During installation, all the components necessary for the operation of the web server are assembled from source codes. All this, for obvious reasons, makes the installation process very long.
СPanel consists of two components: actually CPanel and WHM. WHM is a web interface for the “super administrator”, with which you can access all the environment settings - for example, set important parameters that affect Apache performance (max_clients, min / max spare servers and others), access to all possible php options and others. An undoubted convenience is that the settings can be changed via the web interface, and not manually edit configuration files. However, in order for the new settings to take effect, in some cases, it may be necessary to rebuild the individual components.
To configure the web server, use the WHM EasyApache tool. With it, you can select a specific profile - a set of features that the server will support. If you select, for example, a Basic profile, then all requests will be processed using the standard mpm_prefork module. If you select the MPM ITK profile, then the mpm_itk module will be used, which will increase the security of the web server by separating processes by users:

CPanel is a control panel in the traditional sense. It is with its help that sites are managed, mail, domain names, etc. are configured. The CPanel interface is simple and understandable even for a beginner:

Out of the Box CPanel only supports the Apache web server. Support for other web servers is implemented using third-party plug-ins and extensions, both proprietary and free.
To use Nginx as a frontend to Apache, you can, for example, resort to the help of the Nginx Admin plugin . To install this plugin, you need to download the tar archive, unzip it and run a specialized script. Note that in recent versions of CPanel, installing Nginx Admin may cause problems. You can also use the ApacheBooster extension or the proprietary cPnginx plugin . Nginx + php-fpm bundle support is implemented using the cpXstack plugin .
Due to the fact that CPanel is focused on working with the Apache web server, it is possible to provide ample opportunities for flexible configuration and configuration. Flexibility is ensured by creating an independent environment with reassembly if necessary. Working with WHM requires certain knowledge and experience from the user, but in most cases the default settings are quite enough.
In the latest versions (starting from 11.44), the possibility of centralized management from the main server of other servers with a preinstalled WHM is added, called the cluster of configurations (Cluster Configuration, similar to the similar mode in ISPConfig - see below). The possibilities of working in a cluster are expanding; new features are gradually being added.
Among the undoubted advantages of CPanel include support for a wide range of software, localization in more than 20 languages, multi-level user management and advanced functionality for reselling.
The flip side of the configuration and control flexibility is lower (compared to the panels mentioned above) performance.
Given the cost of licensing and multi-server support, this panel can be recommended for use primarily by resellers and those who support a large number of different sites.
ISPConfig
Developer : projektfarm GmbH
First version : 2007
Latest version : 3.0.5.4 (August 2014)
Supported OS : Debian, Ubuntu, CenOS, OpenSUSE, Fedora
License : BSD
Official website : http://www.ispconfig.org/
ISPConfig installed not like all the control panels described above: first all the necessary software is installed (web server, DBMS, FTP, mail system), and only then the control panel itself is installed using a special script. Detailed instructions for manual installation and configuration for various configurations and distributions can be found on howtoforge.com (see also a more ordered version)
This approach makes it possible to support a larger number of distributions, as well as to implement functions that are not available for most PUs. For example, it is possible to work in a kind of cluster of several servers on which ISPConfig is installed; while one of them is the main one and governs all the others. In this mode of operation, when creating a user and a domain, you can immediately specify on which server his data will be stored. You can also separate functions between servers: one will be responsible for the operation of the database, the other will be responsible for the main web server that performs dynamic processing of requests, and the third for the front-end that accepts user requests.
Since the preparation of the environment is carried out even before the installation of the panel itself, ISPConfig can be installed on a system where the Nginx or Apache server is already running. ISPConfig can work with any of these servers, which can also be configured in a user-friendly way (for example, Nginx + php-fpm). Support for Nginx + Apache bundles can be configured using a special module .
Preparing the web server and its environment is a routine and rather difficult task, but it can be accelerated and automated using special scripts. On a server with OC Debian or Ubuntu ISPConfig can be installed using ISPConfig3-Debian-Installer script. The script works with both the Apache server and Nginx. There is also a script for working with the Nginx + Apache bundle .
Among the undoubted advantages of the panel include support for cluster mode and the APS standard - functions that are found mainly in proprietary products.
An obvious drawback of ISPConfig is the complexity of preparing the server for installation and manual configuration of all components. And although detailed step-by-step instructions are presented on howtoforge.com , this does not remove all the difficulties of installation.

Conclusion
In this article, we briefly looked at several popular and common control panels. We summarize the results of our review in the form of the following table (the table also provides additional information that gives a more complete picture of the possibilities of the panels in question:
Characteristic | ISP Manager | Plesk | WHM / CPanel | VestaCP | Ajenti-v | ISPConfig |
---|---|---|---|---|---|---|
Supported OS | CentOS> 6 Debian 7 FreeBSD 9 CloudLinux Windows | CentOS 5-7 Debian 6-7 Ubuntu LTS 10.04-12.04 RHEL 5-7 OpenSUSE 12.3-13.1 CloudLinux 5-6 | CentOS 5-6 RHEL 5-6 CloudLinux 5-6 | RHEL 5-6 CentOS 5-6 Debian 7 Ubuntu 04/12/14 | Debian of Ubuntu of RHEL the CentOS | Debian 5-7 CentOS 5-6 Fedora 12-15 OpenSUSE 11.1-13.1 Ubuntu 8.10-14.04 |
Supported Web Servers | Apache Apache + Nginx Nginx + php-fpm (for version 5) | By default, Apache + Nginx | Officially, only Apache; Apache + Nginx and Nginx + php-fpm - through third-party extensions | Apache Apache + Nginx | Nginx + php-fpm Nginx + uwsgi Nginx + Puma Nginx + Unicorn Nginx + Gunicorn Nginx + Node.js Nginx + Apache | Nginx or Apache, Nginx + Apache - through a third-party extension |
Supported DB | MySQL PostgreSQL | MySQL PostgreSQL | MySQL PostgreSQL | MySQL PostgreSQL | MySQL PostgreSQL | MySQL |
Supported DNS Servers | Bind | Bind | Bind MyDNS NSD | Bind | the Bind the NSD | Bind MyDNS |
Domain and subdomain management | Server Selection: Bind, NSD, PowerDNS | Full zone management through Bind | Server selection: Bind, myDNS, NSD | Record Management via Bind | No built-in tools | Full zone management through Bind |
Database setup and administration | Base * phpMyAdmin | Base * phpMyAdmin | Base * phpMyAdmin | Base * phpMyAdmin | Base * ajenti-mysql module | Base * phpMyAdmin |
Statistics | Awstats | awstats The Webalizer | Analog awstats | awstats The Webalizer | Statistics as such are missing; they need to be added through the corresponding entry in the configuration file | awstats The Webalizer |
APS support | + | + | + | - | - | + |
Security Settings | Built-in firewall management, antispam (white / black lists) | Fail2ban, Kaspersky Anti-Virus, spamassasin (white and black lists) | mod_security (possibility of detailed settings), clamav, cPHulk, brute force protection, jails for vhost apache using mod_ruid2 and cPanel jailshell | No built-in protection | Built-in firewall | Built-in firewall management, antispam (white / black list), fail2ban, RKHunter |
Cost and licensing conditions | 5 - lite: 190 rubles / month, pro: 570 rubles / month Official prices are shown; reseller prices may be lower | Web Host: $ 35 / month or $ 385 / year, simpler editions can be purchased from resellers | 20 $ / month (200 $ / year) for VPS. 45 $ / month (425 $ / year) for allotted | Distributed under the GNU GPL; additional technical support is provided for a fee | Distributed under the license AGPLv3 | Distributed under BSD License |
* - Basic management refers to simple functions for creating and deleting databases and their users.
If you have comments and additions - welcome to comments. We are also waiting for comments from those who use hosting control panels that are not included in our review. It would be interesting to know why you chose them and what, in your opinion, are their advantages.
Readers who for one reason or another cannot post comments here are welcome to join our blog .
Only registered users can participate in the survey. Please come in.
Which control panel do you prefer?
- 35.8% ISPManager 629
- 5.5% Plesk 98
- 7% WHM / CPanel 124
- 20.7% VestaCP 364
- 9.9% Ajenti-V 175
- % 7.9 the ISPConfig 139
- 2.8% DirectAdmin (as requested by readers) 50
- 0.9% ZPanel (as requested by readers) 17
- 8.9% Webmin (as requested by readers) 157