Skip to Content

Hosting control panels

This post should be treated as an historical artifact. It probably contain broken external links and it may no longer reflect my views or opinions.

For about 6 years I’ve pondered the nature of web hosting control panels.

When I ran a web host, I played with CPanel, Plesk, and Direc­tAdmin. I’ve since dabbled in the open source waters of Webmin and Usermin, and of late I’ve even poked at VHCS and Open­Panel. I have, to date, not seen a single control panel that is precisely what I want (with Direc­tAdmin coming closest, and almost being a winner if not for its tiered reseller model aaaaannnd price tag). The real sticking points come down to the fact that I want:

  • The control panel to write human-readable, reasonable config­u­ration files: This is where Webmin falls down on the job. The config files are valid, but god are they awful to read.

  • No mention or hint of reseller anything: I just want admin­is­trative accounts running the show and hosted accounts with domains linked to them. Maybe some way for the hosted to monkey with the non-essentials of their own accounts. So on the grounds of overkill, pretty much every commercial panel fails my simple needs.

  • Email support for some­thing that’s not anti­quated: some panels use qmail (or some version therein, which hasn’t had a proper update in years), some use sendmail (which is older than dirt and half as secure), and some use whatever the flavor of the month is (read: whatever ships on the supported OS distro). Me? I’m a postfix guy. I’m not wedded to it per se, but it’s updated, feature packed, works well and its config­u­ration is only modestly arcane (qmail, by the way, fails due to having an arcane config­u­ration file structure that doesn’t plug into antivirus or spam very easily).

    Regarding IMAP and POP support, I find that these panels often use their own “ques­tionable” clients, or rely on courier. There isn’t really anything wrong with that, I just like dovecot more (to be fair, Direc­tAdmin supports dovecot last I checked).

    I don’t want to even get started with autho­rized SMTP support from these packages. God, the horror.

  • No byzantine depen­dencies: Don’t tell me that I need some god awful fossilized encryption library or ldap to make this system work.

    “Listen here, Mr. Control Panel, I don’t use LDAP, and unless that is what you’re using as a backing store for your hosting infor­mation, neither should you.”

To that end, I’ve begun playing with Ruby and Thor to whip up some simple add/delete scripts (with initial success!), and the biggest stum­bling block I’ve encoun­tered so far is just parsing out the accounts that exist.

The Apache config­u­ration file format is… archaic in its own right, being neither XML nor attribute: value pairs. It’s readable, but there is a reason that an entire perl package (HTTPD::Config, which may or may not exist anymore) was produced just to scrape httpd.conf files.

I fear that without stepping back a little and engi­neering a proper solution I’m just going to wind up reim­ple­menting what I encoun­tered when I did overnight support for Reality Check Networks (no link provided, because, well, you know. Those dudes…).