cPanel is graphical user interface (GUI) used as a control panel to simplify the management of website and server management on Linux based systems. It was developed by cPanel, LLC back in 1996 to act as the control panel for a web hosting company called Speed Hosting which is now defunct, and written in the amazing Perl programming language. In today’s technology landscape of wizz-bang programming languages it is nice to see Perl still get mentioned, and more importantly, this software has the market lead on server control panels.
cPanel is the gold standard, included with any web hosting provider. It really does make managing a web server so much easier because otherwise you would have to know a great deal about server administration. What makes cPanel so nice is you do not need to know how to login to a linux box, what commands you need to run, and in what directories important files belong. Do you want to add a subdomain? Point, click, boom, new subdomain. Need FTP access? Point, click, boom, FTP access granted. Need to update your PHP version? Point, click, boom, you now have PHP 8 (yes PHP 8 does not exist at the time of this writing). Need WordPress? Yep, 1-click installer.
If you are dealing with shared hosting, then it seems like every hosting provider includes cPanel in those $5 per month hosting plans. As you move up the hosting tier and should you require a VPS or dedicated server than cPanel is generally available as a paid add-on. cPanel is not free despite it being bundled into shared hosting plans. In fact, you have to pay per account to use cPanel. The pricing starts at $15 per month for 1 cPanel account and can be $45 for 100 accounts.
cPanel has companion software called WebHost Manager (WHM) which is for server administration.
So what’s the difference between cPanel and WHM? cPanel is used to manage websites whereas WHM is used to manage the server. To give you an example, if you were to start your own web hosting company you would purchase a server and install WHM on it to manage the server. You would then use WHM to create cPanel accounts for each of your customers on that server so they can manage their websites. So you as the system administrator can push updates on your server using WHM and your customers can use cPanel to manage their websites, isolated from each other.
To recap, you now have WHM installed on your server for you, along with cPanel for your clients. That’s extra CPU, memory, bandwidth, and hard disk space I see wasted only to have a nice GUI to something you should know how to do as a system administrator. Lets not forget all of the bloatware that comes with cPanel. It comes preloaded with a lot of features to manage everything your server has to offer, but you really do not need most of it. Email with cPanel is just down right awful and should be disabled. You don’t use your web server for sending emails, ever. You use a 3rd party email service provider that specializes in email. Please don’t mix web server and email server.
cPanel is also a hungry and will eat up your systems resources faster than a fat man at a Chinese buffet. Plus it runs on Apache which is much slower than using Nginx. Nginx is very lightweight and faster performing than Apache so you don’t want to limit yourself to Apache.
So I ask, “Why are you using cPanel?”