Things I don’t like about CPanel
CPanel is one of the most popular Hosting Control Panels out there today. I have looked at CPanel more closely. CPanel has a many good features that makes the life of a System Admin/Web Hosts much easier. I like many things about CPanel like, the GUI, WHM, if an action fails it does the best to clean up the residue created by the action. I didn’t like few things about CPanel in a developer’s point of view. I am jotting down few of my glitches here.
CPanel is not open-sourced.
CPanel is a proprietary software and we need to pay for the license. It has compiled Perl scripts to perform various actions. Different hosting services providers comply to different hosting architectures and setup. Since, Unix is open sourced, people might even try to create their own custom Linux/Unix to host sites, probably to make the system more secure or the services highly available. CPanel fails to mingle with those kind of setup.
It would have been easier for those service providers to use CPanel if it would had been open-sourced. Little bit of tweaks in the code might have done the job.
The CPanel API is very naive
The API documentation of CPanel/WHM is very naive and unprofessional. Few examples would be
- Non-standardised naming conversions. The account username input/output is referred as user in some places and in other places it is username.
- If the input representing maximum number of FTP users available in createacct is maxftp, the same input parameter is represented as MAXFTP in modifyacct API method.
- The ip parameter in createacct can have values y/n to represent ‘yes’ or ‘no’, and in the same API method there are other parameters that take 1/0 as ‘yes’ or ‘no’.
The CPanel doesn’t function well in a clustered setup
Clustered hosting benefits both the service providers and the web hosts. A clustered setup benefits service providers by reducing their maintenance cost, and managing the H/W/ servers easier and to utilise the resources to maximum. To the web hosts, they get a highly available service, highly scalable platform.
It is a nightmare to setup CPanel in such an environment. CPanel works just fine in a non-clustered environment.
CPanel guys, if you would ever read this post, it might be either old, or you guys have a good opportunity to make the CPanel better. After all, people pay for the license to get best tool to manage their web host in an easier way.
If anyone has ever setup CPanel in a clustered environment successfully or feels these points are not valid, please feel free to comment.