Last few days I have been searching for webhosting control panel. I want something what can manage email accounts, apache2, ftp and dns zones. And I also want to split services to few servers for higher availability, build cluster. Two web servers, two mail servers and all data on shared storage.
When talking about webhosting control panel, everyone get in mind cPanel. This is well-known solution with many features. But closer look from administrator’s view is not good. Used MTA si Exim4 – first bad thing (I don’t like it). My hope I can replace it and use postfix on another server disappeared when I have found, that none of mail setting is in database. It’s a mixture of perl scripts and generated text configuration files placed in various locations. This ‘thing’ can’t be clustered in any way.
My searching continue by trying control panels from list in Debian wiki. I have tested SysCP – web interface seems to be acceptable, it uses mysql database for all settings. There can be mapping of users from database to system accounts using libnss-mysql (nice!) . PHP cron job generates configuration files for services (apache vhosts, bind config and zones). It seems it can be nicely clustered. But…it is missing DNS zone managment, you can’t edit zone records. There was some add-on named Manage DNS, but it is not working well in current version of SysCP. Also it seems SysCP is unmaintained, last release is more than a year old. There is few months old fork of SysCP named Froxlor, currently focused on bug fixing year old bugs of SysCP, with no new features. I’m sad, because I really like its concept.
I have also tested demo licence of InterWorx Hosting Control Panel. Web interface of this control panel is very nice – best off all I have tested. It’s using djb stuff – qmail, djb dns. I’m also using qmail on my server, but I’m in doubt if it has future and about deploying it new setup. It can be really nice on one server, but hacking commercial software without source codes (uses php’s encoded by ion cube loader) to cluster setup is not right way.
Last one which I’m playing with is ispCP OMEGA, fork of VHCS. It has nice web interface and seems to have all necessary features. It store settings in mysql database, it uses postfix as MTA, but I’m confused. Why it is generating from mysql for virtual email users and domains plain text files databases instead using it directly?! It’s really mad idea. I have to find out, how to use it directly in postfix and disable generating this stuff. Also it is adding users to /etc/passwd – I hope I can patch it to disable this and map users using libnss-mysql. Another task is to to replace email password encoding with md5 hash setup to easy migration from postfixadmin.
Lot of work to do…