I am not a fan of control panels.
Oh, I can understand why C is using them; there's no mucking around with configuration files, and it's easier to train someone to use administrate a system using this click-n-drool interface than it is to use the command line (“What's that?”). But—and it may be the control panel software we're using—it's restrictive. Way restrictive.
How restrictive?
Here's the configuration of one of our webservers, as given by the control panel:
ServerName server.example.net Port 80 SSL Port 443 ServerAdmin root@server.example.net StartServers 8 MaxClients 150 HostnameLookups on
That's it.
Simple, huh?
You might not realize we're using Apache 2.0 [1] given the simplicity of the configuration file. Oh, and if you want to edit the configuration? Those fields above? They're the only ones you can change through the control panel.
And what does the website administrator see as the configuration?
ServerName www.example.com ServerAdmin admin@example.com DocumentRoot /website/html
Good thing Apache supports user level configuration files [2].
Granted, most sites won't have a configuration beyond this basic setup. But heaven help you if you want something a bit more complex. Or (for whatever reason) don't (or can't) do what you want through the user level configuration files.
And that's just the configuration of the webserver using the control panel.
For instance, a simple operation of renaming a domain. Under the command line, you may need to rename a directory (for instance, this site [3] is stored under a directory called boston.conman.org, change a few lines in the Apache configuration file and update DNS (Domain Name Service). Under this control panel we have? Looks like you have to create a whole new account, then have the user (who will have a new userid because … well … that's the way it's done) upload the site (and unless he has a copy of it himself, he'll have to download a copy from the old site). Then, once everything is changed over (oh, he has a database too—he'll need to recreate that as well) then we can go in a remove the old site.
Yup, that's certainly better.
Or you could muck around the server on the command line and copy the files that way, but I've been there, done that, still having support issues [4] because of the way the control panel works (and my trying not to break things too badly by using the command line).
Okay, I'll stop griping now.
[1] http://httpd.apache.org/docs-2.0/mod/directives.html
[2] http://httpd.apache.org/docs-2.0/configuring.html#htaccess