You’ve got your high-speed Internet connection, you’ve wired the house with high-speed cable, and you’ve installed, or are seriously contemplating, a wireless LAN. What’s next? The answer is simple: you set up a home server.
If you work at a company with a network, you’re familiar with the concept. A corporate server is a company’s heart and soul: it’s the e-mail hub and repository of important documents. It is where companies keep their crown jewels.
Unfortunately, the corporate server requires a substantial support staff. It’s the computer that renders every desktop unusable when it crashes, and it’s the ultimate target of hacker attacks. With all of these problems, why would any sane person want to have one at home?
Well, I’ve had a server in my basement since 1995, and frankly, I wouldn’t want to live without it. Always running, my server holds my personal files, my music collection, and all of the digital data that I’ve been building up over the past 20 years. The server also mirrors the data that’s on my two laptops and my two computers at MIT, keeping everything properly synchronized, and it automatically backs itself up. I can also log in remotely and get an important file if I happen to be at a friend’s house. It’s easy to lose your data if you keep it on a single computer. My server gives me automatic redundancy-and that safety net has saved me from many data disasters.
The server secures my data in another way, too: it’s bolted into a rack, and that rack is bolted onto the floor. I’ve heard too many stories of people who have had computers stolen and lost all the data they contained. If my house is burglarized, it’s unlikely that the thief will take the time to unbolt that box in the basement.
Of course, there’s more to a home server than shared files and folders. The word “server” actually has an ambiguous meaning here: it refers both to the computer itself and to the programs that provide service to other machines. For each different service, the machine runs another program. The machine in my basement runs dozens, which means it is providing a range of services far beyond storing my data.
The most important program my system runs is the mail server. Like those at a growing number of businesses and universities, my server speaks IMAP-the Internet Message Access Protocol. Unlike the Post Office Protocol (POP) used by most Internet service providers, IMAP keeps all of my mail on the server and downloads a copy of each message only to whatever desktop machine I happen to be using. When I delete a message, that action happens both on my desktop and on the server at the same time. And if I’m using my laptop, my mail program remembers all of those actions and transmits them back to the server when it’s back on the network. This means that the mailboxes on all of my various laptops and desktops are kept perfectly synchronized.
I once made a video of my kids, with my wife playing piano. I turned it into a high-fidelity QuickTime file and then set up a streaming server to let my parents watch the video over the Internet. I know a DJ who set up a streaming MP3 server to play the same music on every computer in the house-and to share his live spinning with his friends. I have tens of gigabytes of information on my Web site; renting that much storage from a hosting company could cost $100 a month.
Fortunately, home servers are easier to maintain than corporate servers. In the business world, the people using the server never quite know what sort of changes or upgrades are being done by the administrators. This is where most of the angst and confusion come from: poor human-to-human communications. When you run your own server, these communication problems go away.
Both Linux and Windows XP make great server operating systems; of the two, I recommend Linux. The problem with XP is that most of the add-ons you might want to run can end up costing a lot of money, while with Linux most of these add-ons (things like Web mail or an SQL database) are free. Linux is also much more reliable. And while servers should have huge hard drives, they don’t need the fastest CPUs or a ton of memory. My server has 500 gigabytes of disk space but just 512 megabytes of RAM and a 600-megahertz processor that’s nearly three years old. You can put an entire system together with a bargain-basement PC for about $400. Indeed, a Mountain View, CA, company called Mirra has done just that, complete with automatic backup software for Windows-based PCs.
If you’re not up to running your own server, but you have several desktop systems, you can network them together and use the basic file and print servers that are built into the Windows and MacOS operating systems. The problem with using somebody’s desktop as a household server is that the network services stop working every time that machine boots. A few months of that, and soon you’ll want your own server, too.