� Perils of Nerdism | Main | Brawl at the Palace �

November 24, 2004

Ode to a mail server

Well, not exactly. I won't be writing any rhythmic prose in honor of an inanimate object.
However, I did want to share a recent experience I had in building my first mail server.
A client was unhappy with a Win98 machine whose System Registry had been overtaken with trojan adware. The machine was a 2-year old Dell GX-150 desktop, which had 128mb RAM and 20GB hard drive. Basically, it only ran Office productivity software and a web browser for some of his office staff.

Hmmm. I thought, how could I increase the utility of his current hardware ?
Why yes, I knew the answer was obvious. Once again, I put on my Linux evangelist hat, and unfurled the Open Source banner. I offered to extend the useful life of his existing hardware and provide such useful services as a print server, fileserving, disk duplication and mail server.

Because the client ran a small business, he had very limited resources and really could not afford to upgrade the existing hardware. So, I had very severe design constraints.
The Optiplex chassis is actually used as a desktop PC, not a fileserver, workstation, or mailserver. In fact, the box did not have any room for a second hard drive. So I was a unsure how disk redundancy would work on this limited . Nonetheless, I trudged on undaunted.

After backing up the customer data to a fileserver on my LAN. I went about the business of understanding RAID. Not the roach spray, but Redundant Array of Inexpensive Disks. As I mentioned earlier, this particular slim chassis Optiplex would not accept an additional internal hard drive. So, mirroring the disk would prove to be a challenge. I grapped an external USB drive and connected it to the box and attempted to run RAID 1 disk mirroring. I quickly discovered that this was futile as USB was painfully slow and ill-equipped to handle large chunks of data on a consistent basis. Try installing a Linux distribution over USB and you'll understand my point more clearly. I purchased a USB 2.0 adapter card and installed it, as the motherboard was equipped with USB 1.1. The throughput of USB 2.0 is roughly 2.5 times greater than its predecessor.

So, I aborted the RAID campaign and figured there must be a better method of mirroring a disk than software RAID. Enter rsync - another very handy Open Source tool. After reading up on rsync, I decided that I could easily grab some ready made scripts to do the job of mirroring the internal drive to the external USB device.

Next order of business was to decide upon the software components that would become the mailserver. After getting some opinions from more experienced community members, I decided upon Postfix - MTA , amavisd - virus scanner, clamav , and Spamassassin. The collection of these software packages would serve to create virtual mailboxes for the staff and help erradicate email virii.

Installing Postix was fairly trivial with the help of Debian apt-get.
Although I had not actually, built a mail server, I knew there were hundreds of examples that I could use. So I Googled a solution, and used my trustworthy local LUG .

I did run into a few problems with testing the setup behind my firewall. After getting some assistance from a buddy, I figured out that I really didn't need to do any port-forwarding to test the mail server. I also had to add a content filter to help Postfix hand off the incoming mail to the amavisd. Again, this process was manageable due in large part to the apt-get pkg management tools provided with Debian.

The print server and fileserver duties were easily handled by Samba . Security considerations were handled by the firmware firewall found on the existing Linksys router.

Posted by AG at November 24, 2004 7:20 AM