A Sysadmin's Lament, or why cPanel Sucks

I've been wrestling with cPanel [0] on and off for years - more
lately, and it always reminds me just how much it sucks. It can be
convenient if you don't know how to maintain Linux servers and the
various associated Internet services (Apache, BIND, etc.), but there
really is no playing nicely with it from a command line sense. Once
installed, it takes over your system, rendering it impervious to
standard sysadmin tricks. What's more, its convenience is really
it's downfall, because when something goes wrong with it, two things
are true:

The person using it has no idea what is wrong, OR The person
using it knows what is wrong and how to fix it, just not from
within cPanel

The end result of this is when cPanel fails, and it will fail at
some point, fixing it is near impossible without calling on cPanel
for support (I suppose they like it that way).

It's also one example of a software system that if it were open
source, it wouldn't change this situation at all. It's basically a
giant mass of Perl code that somehow manages to work (mostly), while
aggravating the experienced sysadmin. Its automated upgrades are one
example of an epic fail waiting to happen. On several occasions I've
had clients call me to fix broken email, only to find a cPanel
upgrade has b0rked some key part of the Exim config file.
Umm...first, upgrading key system software is not to be taken
lightly, and let's not even discuss why the fuck Exim is being
upgraded automatically. Second, upgrades should never, and I mean
never touch config files without asking. Debian has it right on this
one [1]. Do yourself a favor - turn off cPanel upgrades immediately
after installation (or better yet, don't install it).

Finally, I can't possibly let this post go without whining about how
cPanel and all the other web-based hosting/sysadmin control panels
have created an entire generation of so-called 'system
administrators' in need of a giant clue bat.

There, I feel better now.

[0] http://cpanel.net
[1] http://www.debian.org/doc/manuals/reference/chsystem.en.html#s-conffile