Home Server Build part 1 – Introduction (Ubuntu School)

What started life as an idea for a blog post as much for my own future reference as it was for anyone else has taken on a life of its own in what will be at least a 6-post series. It’s a step by step guide to how I’ve configured my primary home server including all of its hardware, services and applications. I find that on occasion this server, as with all my computers, could benefit from a full OS rebuild.

I’m a bit of a junkie when it comes to computer maintenance, so undoubtedly that has something to do with it too. My Windows and Mac systems are typically not much of a challenge. The lack of customization required for me to get them back to the point at which I want them makes the task trivial. Not so with my Linux server. This series will cover, in the order I tackle them, the tasks I undertake to get the server running with all the services I use regularly.

I’ve outlined the plan below, it may deviate a bit from what I’ve listed here, but the overall topics should remain the same. I welcome any feedback, questions or comments.

### Prerequisites

* What does the server need to do
* How will it be controlled and administered
* Server (and network) device names

### OS Install

* Ubuntu 12.04 Server (LTS)

* SSH Server
* LAMP Server
* DNS Server
* SAMBA Server
* Additional hard disks

### Access and Administration

* SSH

* Tunelling
* Configure APT
* Download and install Webmin

### DNS Server – BIND

* Configure domain via Webmin
* Configure router to use DNS
* Set up DNS entries for home LAN devices

### File Server – SAMBA

* Set up local users
* Set up share locations
* Configure Samba via Webmin
* Set up samba users
* Share out directories
* map share on remote machines

### BitTorrent – Transmission

* why bit torrent
* setting up transmission

### Media Server – Plex

* purpose
* configure apt
* install Plex

### Backup – Crashplan

* server setup
* no-UI operation* backup ethos

### Version Control – SVN

* Why SVN
* setup
* apache config

### Continuous Integration – CruiseControl

* What’s CI
* Why do I care
* Mono
* CruiseControl

So get ready to enjoy a whole lot of content over the next couple of weeks. It should be fun!