Ubuntu Home Server I

Last June, I decided to build a home server with the primary goal of using it as a PHP/MySQL development platform.  I wanted an offline (not on the public internet) location I could host projects while they were built.  I was previously using a localhost Apache installation on my desktop, which worked fine, but it meant I was tied to my desktop anytime I wanted to work on a site.  So I wanted an always-on server that would also serve as Network Access Storage (NAS) to give me a central place to put my files and be able to access them from anywhere in the world.  I was also in a heavy Linux phase, having used it on my desktop and netbook for several months, so I decided to go with the free and open-source Ubuntu Server as an operating system.  With all of that in mind, I turned to Newegg for the following parts.

Parts


Name Price
Motherboard Intel Atom DGCLF2 $80
Boot Drive WD Caviar 80GB IDE $40
Data Drive WD Blue 500GB SATA $56
Memory 2GB Wintec 667See Below $40
Case APEX MJ-16 $42
Total
$300

I already had the 500GB data drive from my desktop (replaced it with another drive), so all told it cost me $250 for the parts, not including shipping.  When you compare to similarly priced NAS, you'll find that the commercial NAS products usually offer more storage space, but you have to use a proprietary web interface to configure it, and of course you're stuck with the features of the manufacturer until you buy a new one. But, before you get too excited about rolling your own linux home server, keep in mind that configuration is not trivial.  Ubuntu Linux is a commercial grade server product (though it is free), with commercial grade features like Samba (Windows Networking), Apache web server, MySQL relational database, Subversion version control, and many more features than I can possibly list here.  If you want the full list, check out Ubuntu.com, or stay tuned as I will be talking about the features I have added in the coming weeks.  For now, let's get back to the hardware installation.

Why Atom?

The Intel Atom processor was probably never intended to be used as a home server.  It's built mainly for mobile use, such as in netbooks, or for very basic computers like nettops.  Regardless, it's low power usage and small form factor make it a natural choice for an always-on personal server.  A personal server is going to waste a lot of CPU cycles, since it will probably be inactive 90% of the time.  So it makes sense to choose efficiency over power in this case.

Unboxing


The motherboard is tiny!  I kind of expected that given the Atom's reputation as a mobile CPU, but you can just about hold the whole board in your hand.  I would have cropped my foot out of this picture, but you can't really tell how small the board is without it.  The really nice feature about a Mini-ITX motherboard like this one is that you know you're not going to have to fight to get it into the case, and the case can be pretty small too.  Speaking of cases, this case is dirt cheap, but comes with plenty of space and a power supply that will easily work for this board.  I was half expecting to open the box and be blown away by the ugliness of the thing, but it's really not that bad.

A couple of interesting things to note: this motherboard uses a passive heatsink for the CPU (the large chunk of aluminum on the left of the motherboard picture), so the only fan on the board is on the northbridge.  Likewise, the case only includes the one tiny fan in the top left of the case photo.  I kept the fan in there for the sake of the hard drives, but I'm not sure it's necessary.  The whole setup is pretty quiet though.

One last note.  I didn't realize until the components got here that this board only has 1 slot for memory, and I ordered two 1GB sticks of RAM.  You live and you learn.  I put one stick in and called it a day.  One gigabyte seems to be more than enough for what I need anyway.

Next Article: Assembling the Ubuntu Home Server