glennji.com

Because life's too short to save your work

Homebrew always-on server

Required: A small, low-current-draw server to act as file-storage, database, version control, asterisk controller, security-system ...

Hardware

For me, the hardware requirements are that the server be small enough to fit on my bookshelf, and low-powered so I can leave it on all the time. This points to: a mini-ITX motherboard and case, as the nano ones are still too expensive, and; an AMD Sempron CPU, as it has the lowest power requirements.

Add to this some RAM (1GB should be enough for now) and hard-drives such as the 500GB from Samsung - reputably quiet and cool, and often used in media centres. So something like the Biostar IDEQ AMD Sempron 3300+, with capacity for 2 SATA drives and up to 2GB PC3200 RAM, looks ideal!

Software

For the operating system, I've chosen Ubuntu 7.10 Server, a Linux distribution. You could just as easily use Debian or another Linux distro, or OS X Server. The good thing about Ubuntu and Debian is the APT installation system - installing many of the software packages listed below is as easy as typing "sudo apt-get install {package}" on the command line.

There's no point having an always-on server if it's not doing anything. Before anything else, install:
Some other ideas are:
  • Amanda backup.
  • Asterisk VOIP Server.
  • Azureus Bittorrent Downloader - A Java app, but can be run "headless".
  • BIND DNS server - resolve local names (because the ADSL router can't).
  • Cfengine configuration engine.
  • FreeSwan VPN.
  • Icecast Streaming Server - MP3 streaming audio which can work with MPD.
  • Mediatomb UPnP - With 1TB of file storage, this will be an ideal repository for video, and UPnP is a standard protocol for streaming video and audio content.
  • MPD Music Player Daemon - remote control music playback.
  • MySQL Database - many other services need or benefit from a "real" database (as opposed to the file-based SQLite), and it may be useful for making your own data-centric apps.
  • Nagios system monitoring
  • Samba Windows File Sharing - if you have Windows clients.
  • Subversion Version Control - always handy for developers.
  • Shorewall network firewall.
  • Streamripper for recording Internet radio streams into individual MP3s
  • TheLastRipper for recording Last.fm radio streams into individual MP3s.
  • Zoneminder Security System.