Once upon a time I wrote a collection of shell scripts for managing virtual hosting. Combined these allow me to easily.
- Add/Remove/List Apache2 virtual hosts.
- Add/Remove/List virtual domains for use by Exim4.
These work well, but every now and again I think “I want a web-based control panel”.
After mulling this over for a while and remembering how many of the existing control panels are tricky I’m actually going to do it.
There are two hard parts:
- The user-interface is key.
- The format I’m using for domains isn’t appropriate.
The last point is the part I’m worrying about right now. So far I have a list of mail domains, and a list of web domains – and the two are unrelated. This becomes obvious when they are listed:
See? No link – I’d expect to see the domains listed as just “steve.org.uk” with links to “Mail” showing the mail setup, and “web” showing the subdomains.
Or maybe they really should be listed seperately – I can’t decide.
(For reference here is my live listing of domains – where the problem becomes obvious. Note that you’ll not have permissions to see my server stats…)
So I need to decide how to handle this – I also need to be "inspired" by OSWD.
I think the plan right now is to store all data in a database, then regenerate the plain text configuration files on demand. That should give me the best approach – if I restrict myself to running HTTPS on a custom port and avoid the ability to modify the files by hand…
Feel free to tell me this is misguided, or inspired.
Although I remember the last time I talked about control panels and I’m still not seeing a good solution.
I want to be able to:
- Add/Remove/Enable/Disable apache2 virtual hosting setups.
- Add/Remove/Enable/Disable exim4 virtual domains – with optional mailing lists (ecartis)
- Have only “server admin” vs. “nobody” – no resellors etc.
- Avoid PHP like the plague.
- Have it be utterly secure. (Ha!)