Setting up a Source Control Server

Lately, I’ve been interested in the benefits of having a dedicated source control server.

My goals for the project:
1. Have a dedicated server to store source and other files I’m working on that could benefit from source control and a secondary backup.
2. Have the server accessible through the Internet so that friends who I am working with can access our projects.
3. The server should be as low power usage as possible.
4. Attempt to make the server as secure as possible. Probably only have one port directed to it (either the http webdav or svnserve protocols on a custom port). I might also consider having ssh directed as well so I can use something like NoMachine NX Remote Access.

Last weekend I ordered an “MSI Wind PC” computer to take on that role. This computer is sold as a barebones unit that doesn’t come with RAM or a hard disk. For about $220 total, I was able to get an ATOM based computer with a 750GB Western Digital hard drive and 1GB of ram. The main benefit of this setup should be the low power usage which I estimate to be around 25 – 35 watts. Checking an online energy cost calculator it said the device should cost around $40 a year to power (24hr a day), which isn’t bad!

This week I’ve been learning more about Subversion. I have installed a basic install of Ubuntu desktop in a Sun Virtual Box virtual machine and went through (this great Ubuntu document) to get up and running.

I also Installed The Eclipse PDT IDE (PHP) and the Subeclipse SVN add-on

Using the basic Webdav setup, I easily linked Eclipse with the repository in my virtual machine. Here is a tip with the virtual machine: Setup your network adapter as a “Bridged Adapter.” What will happen is that the VM will talk with your router directly and get its own IP address completely separate from your host OS. This way, it’s east for your host OS to talk with the VM through the network.