Open Source is the worst form of software except all the others that I’ve tried.
I’m still in pain from migrating my mail system from mireille (my server in Tool, TX) to kirika (my supposed replacement server in Plano, TX).
With one exception, every package has somewhat adequate documentation, but none do a very good job of explaining the connection between this package and all the others that are required. Mail Transfer Agent, spam checker, virus scanner, delivery agent, authentication agent, management / configuration utilities, mail server (the piece that your mail client actually connects to) – all of these have to work together. If they don’t, you will a) lose legitimate mail, b) get inundated with spam, c) act as a relay for spammers / malicious software, d) any or all of the preceding.
There are HOWTOs around which cover subsets of the whole system, but I haven’t found a single one that adequately covers everything. Then, we used the most complete HOWTO to set up the mail system at the office. A few months later, a stupid configuration mistake in this instructions led to a cumulative problem that caused our mail system to go into meltdown, and took a few days to fix. Still, I had everything mostly working (having done it before) in just a couple of days.
The one piece that has woefully inadequate documentation is the mail server component, cyrus-imapd. It supports “virtual domains”, which I need, except that the configuration utility supports a different implementation of virtual domains, which required some serious hacking. And then it’s not directly compatible with its own authentication server. That took many hours googling, and I found the workaround by accident in an unrelated thread. And even so, it can’t support my primary domain, which required a “roll-your-own” kludge on my part.
The upside is that the 25,000 spam emails or so that I’ve accumulated in the last few months has dropped to 3-4 per day, which I can live with. It’s definitely been worth the effort.
All this makes commercial packages look attractive. In a homogeneous system, all of the parts designed to work together will be documented together. Until you start to consider that the main reason I’ve had so much trouble is that I’m trying to do something not quite standard. I dread to think what an Exchange admin has to go through to do anything that wasn’t directly intended by the developers. At least I can do what I need, even if it’s painful.
Now, just another twelve or so domains to migrate… (sigh).