Is there a difference with a LAMP stack on CentOS compared to a cPanel EasyApache install?

Herr K asked:

When you use a server with cPanel you have all the necessary things installed like:

  • Apache
  • PHP
  • MySQL
  • Email server (Incoming email)

is there a difference if I do this install by hand?

Would the time required to set this up justify the use of cPanel?

I answered:

The question to ask is, do you want your web site to be a small site, lost in the crowd? Or do you have aspirations of being the next Facebook or Google? Maybe it’s “just” a web site for a small or local business, but do you always want to be small?

Web hosting control panels such as cPanel, Plesk, etc., are designed for one thing: high-volume hosting of low-traffic web sites. They are geared toward the needs of the mass market web hosting industry. The main feature that these provide is relatively simple web-based configuration (both by the host and self-service) of clients’ web services.

As has already been noted elsewhere, that means you have to make a tradeoff: The control panels only offer a limited range of configurations, and if a webmaster needs to do something that is not supported by the control panel, or intends to run a high-traffic web site, there’s no choice but to move away from it and set up a web server to spec.

As also noted, web hosting control panels are an additional attack vector, simply by their presence. And they can be attack vectors in other ways, too. For instance, in early 2013 a large number of web hosting companies were compromised and had rootkits installed on their systems; the compromise was ultimately traced to cPanel technical support. Hosting companies which had previously requested support from cPanel and given them passwords to log in to their servers were the first ones to be attacked.

Professional system administrators almost always configure their own web servers, to serve the specific needs of their businesses. (In fact, you will find much hate for cPanel around here, since most of us are professional system administrators.) This gives the maximum amount of flexibility and control. Software such as cPanel locks you into its way of doing things, which is not always the right way.

My recommendations are:

  • Consider using software like cPanel only if you are actually in the web hosting business and hosting web sites for clients. This is after all what it’s designed for. And even if you are doing this, if web hosting is only a sideline and not your primary business, you may still want to configure servers yourself to support unique and unusual clients’ needs.

  • If you are building a web site for your company, strongly consider configuring the server stack yourself. If you get large enough that you have to begin scaling up or out, then it will be much easier to do so than if you have to untangle your web site from a hosting control panel’s tentacles.

View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.