After digging a little deeper into the world of Linux software that I’ve been avoiding for so long, I’ve come up with a few solutions. I’ve found MySQL interfaces for postfix, an SMTP server, courier, and IMAP/POP server, and mydns, a DNS server. I simply have to write web interfaces that use these MySQL tables to allow users to edit their own information. It won’t be THAT difficult. However, that still means that new shell accounts and new virtually hosted websites will have to be created manually. This isn’t so bad, as that means only new domains (rare) and new shell accounts (even rareer) have to come through me. However, I’m sure I’ll cook up something for that too.
I’m going to work on the web interface for SMTP, IMAP/POP, and DNS today. I’ve found existing MySQL interfaces for 2 of them, which means that stealing and/or modifying from them should be a piece of cake. I’ve also seen a MySQL module for PAM, so maybe user creation can be handled via MySQL as well. We’ll see.