One day in early 2004, our server started making funny noises. It was no big deal, as it turned out. A bearing in the supplemental case fan was failing. That was cheap and easy to fix, but it started us thinking.
Our server, that anonymous beige box where all our data lived, was an antique. As we blew the dust off it, literally and figuratively, we took stock of the hardware upon which so much of our working lives depended. An ancient Intel RC440BX motherboard. A Slot 1 Pentium III/550 processor with 128 MB of Crucial PC133 memory (we could have sworn we'd upgraded that to 256 MB). A 10 GB 7,200 RPM hard drive that Maxtor had sent us for evaluation before that drive was commercially available. A Travan tape drive from Tecmar, a company that departed the tape drive business years ago. And Windows NT Server 4. Ugh.
Although we'd made a few minor upgradesincluding mirroring the 10 GB Maxtor to a larger Seagate drivewe realized that we were several years into the 21st century and still depending on a server that dated from the late 20th century. That was good in the sense that a server should be so reliable that one simply forgets it's there. And, despite all the nasty things people say about Windows stability, that server often ran for months on end without a reboot. That's what happens when you build a machine with top-notch components, put it on a good UPS, and blow out the dust dinosaurs from time to time.
But, although that box had been a good and faithful servant, it was clearly time for a change. So we set out to design and build a server that would meet our needs then and (we hoped) for several years to come. We decided from the start that we would look to the future rather than to the past. Accordingly, we designed our server to run Linux rather than a legacy Microsoft OS. Linux is fast, free, easier to install and maintain than Windows, immensely stable, and suffers from few of the security flaws endemic to Microsoft operating systems.
We described the design and construction of that new server in the first edition of this book. Our new server turned out to be fast and reliable, but it was also much more than we really needed for our small home businessparticularly because we were using it only as a file and print serverand it was much noisier than we would have liked. Barbara had recently converted to using Xandros Linux on her main desktop system, and we decided that Barbara's desktop system was perfectly adequate as a dual-function desktop/server. So we donated our new server to a local nonprofit agency that needed a real server.
A couple of years passed, we signed a contract to write this new edition, and we decided it was again time to build a dedicated server for our own use. We work in a typical SOHO (Small Office/Home Office) environmenthalf a dozen desktop systems, some printers and other shared peripherals, and a cable-modem Internet connection. Of necessity, we designed our new SOHO server to meet our own needs. Your needs may differ from ours, though, and a SOHO server isn't a one-size-fits-all proposition. Accordingly, we've made every attempt to explain why we chose to configure our new server as we did, and how you might want to alter our configuration to suit your own requirements. In this chapter, you'll look over our shoulders as we design and build the perfect SOHO server.