Linux Server Setup: Part 4 - Web Hosting Control Panels

Updated: August 20, 2010

Definition

A web hosting control panel is a software application or suite of applications that sit between the Internet user and the server, acting as a graphical frontend. Because their primary purpose is to provide users with an easier graphical experience, most control panels are intended to be user friendly.

Control panels typically use normal server resources (CPU and RAM), coding languages (PHP, Python, C++, etc.), and databases (MySQL, PostgreSQL, etc.) to operate. Therefore, it is important to choose a control panel that functions well on your server.

Control Panel Features

Most control panels will have at least two separate interfaces: one for the server administrator and one for the hosting client. Some may include additional interfaces for resellers, single site users, and virtual private servers (VPS).

The server administration interfaces often include management features, such as the following:

  • The ability to reboot the server and start/restart system services
  • Access to the web server to add, edit, and remove dedicated or shared websites
  • FTP (File Transfer Protcol) server management
  • Database server management
  • IP address configuration
  • Firewall setup
  • SSL certificate creation and management
  • Ability to create, edit, and delete system users, as well as the ability to set permissions
  • File management (create, delete, move, edit, and upload files)
  • Domain, DNS, and Nameserver configuration
  • Cron jobs, creation and configuration
  • Access and view server logs

Many of the features available to system administrators through control panels are root-level tools that perform OS administrative tasks. Therefore, it is important to have a secure password and to use SSL encryption when accessing the control panel. With the type of power that control panels provide, an attacker could bring a server to its knees.

Hosting client features in web-based control panels mainly focus on the configuration and management of websites and may include the following:

  • Domain and subdomain adding and configuration
  • DNS zone configuration
  • Mail server configuration (add users, configure forwards, add mailing lists, setup autoresponders)
  • Database creation and editing
  • Automated script installation
  • File management
  • Website statistics
  • Billing and client support

Installation

Installation of web hosting control panels varies widely, depending on the software used. Because there is no standard installation method for Linux software, it is up to the vendor to decide how the files are organized, how permissions are set, and how much input the user has on the process.

The easiest of installations include an installer script. It is usually a shell script with the ".sh" extension. The user must set the permissions for the script to "executable" and then run the script as Root (administrator).

While some control panels are designed to work within the current operating system setup, others, like cPanel, alter it to suit its needs. Some will even compile their own versions of software like Apache HTTP Server. This is significant because returning to a normal system, if you decide to uninstall the software, may be difficult, and your user accounts and websites may depend on the control panel software being installed. When running a control panel on a subscription license (i.e. proprietary software), the user runs the risk of vendor lock-in, when they are essentially placing their websites and data at the mercy of a third party.

Usage Concerns

Control panels often tend to take over services like Apache, making it difficult to manually configure them without breaking the control panel's connection to them. For example, the control panel may have a customized method of creating a virtual host for a website, and trying to do that manually from the Linux shell would not be compatible with the control panel.

For this reason, some control panels have their own shell scripts that allow the user to still use SSH to run commands, particularly when they need to execute batch commands and do not want to have to run each one manually using the standard control panel interface.

Other control panels, particularly some of those that are free and open source, do very little change to the standard installation, making it easy to keep the system running as-is, even if the user configures something manually or uninstalls the control panel completely.

Some Control Panel Examples

The following are examples of web-based hosting control panels. Most are proprietary, while one, Virtualmin is free and open source (which includes a commercial version).

cPanel

Parallels Plesk

DirectAdmin

Virtualmin (Webmin)

HMSPanel

Related Categories
Featured Research