Ubuntu as a Home Server

For quite some time now I’ve toyed with the idea of setting up a home server. Actually, I’ve setup plenty of home servers over the years but since I moved house I just lost interest. I had a perfectly good NAS, so there seemed little point …

In the past I’ve downloaded numerous Linux distros, installed them on some small unsuspecting box and very quickly got bored. The problem is it was all very well having an old PC sat in the corner of my living room proudly displaying a logo of a penguin, but what could it actually do for me?

I’ve been pondering that question for a while now and I think I have some answers. I recently purchased an ASUS EeeBox PC on a spur-of-the moment home server idea. I was attracted to it’s size and low power consumption (after all, those electricity bills just keeping going up!) – and it came with Windows XP Home preinstalled. I figured this was what I wanted, being a .NET developer I could easily write my own software if I needed the box to do something special.

Then along came Christmas, and I bought my wife a much needed laptop. This brings the total number of PCs in our household to six (yes, six! … and there’s only two of us!). OK, to be fair one of those machines is my trusty old iMac which as I write is for sale on eBay. Basically, both my wife and I have a laptop and desktop PC each. This introduces a new problem I’ve not experienced before at home: How do we keep our files in sync? I spent a while looking at various solutions (including MS’s free SyncToy tool), but settled on the more robust GoodSync software. GoodSync runs on all four machines and handles our weekly backup as well as a fast home-folder sync every 15 minutes. The aim was to have a transparent sync solution that required no input on our part. It all just happens automagically – every quarter-hour my bookmarks, documents, Visual Studio projects, websites and photos are kept in sync. :o)

The problem is that synchronisation only works when both PCs are switched on, which turned out to be a rare occurrence. I tried using our NAS to act as a mediator for the files, but the random access and throughput was slow (Lacie Ethernet Big Disk) compared with PC-to-PC transfers.

The EeeBox PC (running Windows XP) made for a good alternative for a while, but then fellow bloggers Phil and Rich began endlessly posting and tweeting about Linux. It has been a while since I last used Linux for any serious application – but I’d been impressed with some of the recent distros (Ubuntu and Mint being two of my favourites). While I wasn’t quite ready to go for a GUI-less server installation, I figured that installing Ubuntu Desktop couldn’t hurt, and it would be easy enough to install the extra networking bits.

After a lot of messing around (aided by the plentiful posts on the subject by Phil), I managed to get the latest beta version of Ubuntu 9 running on the Eee hardware. All that was left to do was install samba, openssh and apache and I was in business. Recreating the original shares from the Windows XP install was straight forward thanks to the Ubuntu GUI (no messing around in the smb.conf file this time!). Once the files were uploaded our PC’s had no idea anything had changed. What’s more, the transfer speeds over the network saw a slight boost. Bonus!

What’s more, the EeeBox can now happily be tucked away behind the TV thanks to remote desktop and SSH access from my Vista PC:

vnc-putty-ssh-homeserver

So far the server is on probationary file-serving duties, including SFTP access for when we’re away from home. Now I’ve well and truly got the home-server bug, it’s got me thinking what else it could assist me with.

Over the years I’ve grown rather attached to the BitTorrent client uTorrent. A problem that’s always bugged me is that I’d often have to leave my PC on overnight of throughout the day to finish a torrent. My desktop PC can pull anything between 400W – 1000W when running, which it a lot of power just to download a file. Before I installed Linux I’d begun experimenting with running uTorrent as a remote server with good results. Features such as watch folders and a remote web UI allowed for a completely automated torrent downloading setup. The only problem is that uTorrent is only available for Windows and in beta for OSX.

After a little Googling I found the solution by using WINE for Linux. uTorrent works just fine running under Linux now, with all the features I had with Windows. Another bonus!

Now that I have a permanent solution I can begin to experiment with other home-server ideas. If I come up with anything ground breaking, expect to see more posts about it here :o)

Now … are there any other operating systems I can get running in the Trenouth household?