New Server Project
I’m getting ready to start a new project involving servers and media boxes and I am going to document the whole process as I go through it all both to share with the world how I’m doing all of this, as well as keeping a record of how I did it for the future in case I need to do any of it again.
The plan includes the following servers:
Physical Server
This server is going to be the only physical hardware I am using. It consists (mostly) of a system that someone gave me, minus the case, which is why I have to build it up from the bottom. It’s not really anything special, but it will serve my purposes for this adventure and hopefully allow me to expand slowly in the future, eventually moving the whole thing over to a hardcore server that I plan to build in the future.
The actual hardware is this:
Motherboard: Unknown, from a slightly older business workstation, no model information was provided. The odd thing is that it is a BTX form-factor, which until now I hadn’t heard of. Additional information on this here: http://en.wikipedia.org/wiki/BTX_(form_factor)
CPU: AMD Athlon x2 Dual Core, speed unknown, presumably 2.2ghz or 2.3ghz
Chipset: ATI Radeon XPRESS 1150
Memory: DDR2 SDRAM, it came with 2GB (2x1GB Sticks), and I had a 4GB Kit here (2x2GB) that I added for a total of 6GB. It has a max capacity of 8GB of RAM.
Hard Drive: 120GB Nothing special drive.
Since it came without a case, I had to go searching for one, and apparently nobody makes them since the BTX form factor appears to have crashed and burned beyond a few large companies using it for a short time. I ended up finding one on E-Bay that was a decent looking case that should be here Wednesday (2 days).
I am planning to load either Ubuntu 12.04 Server to this, or VMWare vCenter Server. There are pros and cons to both of these, but I am leaning toward Ubuntu simply because it’s “free”, and I would like to pull this whole project off without having to buy any software. VMWare vCenter is actually meant for data centers, I happen to have a copy, but to use it long-term I would have to purchase it and it can be quite expensive.
If I choose to go with Ubuntu, I will likely use KVM to virtualize the rest of my “data center”, and if I go with VMWare, then it’s all built in and that’s about all I can do with the OS is create virtual boxes on it.
Through some combination of the physical server and various Virtual servers, I plan to implement the following:
1) A central Syslog server, likely using syslog-ng. This is because I don’t want to have to comb around all of my servers to find the error logs, I want one central place to monitor the logs from. In addition, my router supports logging to a syslog server, so I can kill 2 birds with one stone by implementing this feature, and keep error monitoring on my router combined with the rest of the systems.
2) A database server running both MySQL and Postgresql servers with a mix of applications on each so that I can become more familiar with their functionality.
3) A upnp media server, this will definitely be Twonky, as I already have a license for this purchased.
4) A torrent server, preferably standalone so that it can be easily killed if necessary. I currently use transmission for this, and will probably continue to do so because it provides a very nice web interface for remote management, and there is a plugin for Chrome that allows me to monitor and add/remove torrents without having to log in each time. This will also run a television tracking program I use called SickBeard, that keeps track of the television series we watch, and whether I have the episodes recorded to the server or not… and shows me a list of things I am missing/need to get.
5) A git server, I am a software developer and I normally sell my work, so I don’t want to store it on github or another free option that requires open source. And since I have my own internal resources, I don’t want to pay for a monthly subscription to github to store something I can keep here on my own.
6) Networking host. I want to run my own internal DNS server to serve up intranet names, and it will also act as a proxy server to pass HTTP requests from externally into my network and routed to the right server, so that if needed I can access any of my servers web interfaces from outside. In addition, this host will run a package called FOG, which allows me to image systems in the house (laptops, servers, etc…) with a clean image, and anytime we want to clean up our systems, we just back up our data, flag the system for a rebuild… plug it into a network cable and reboot and within an hour it will be a completely clean “factory reset” with drivers and windows updates, which will be much faster than manually rebuilding each time we need it done.
7) Finally, I want to set up a VPN server so that my Android devices can remotely connect to the home network and not only secure any data transmitted over the wireless signals, but allow me access to the internal network without having to open ports to everything I want to access externally.
A few “toys” I want to mess with in this project include a package called Splunk, which I will use in conjunction with the syslog server to easily run reports and filter data from the logs to find and squash problems. I also want to set up a bug tracking system to use in conjunction with the git server, and hopefully tie the two together somehow so that I can track bugs and tickets with each project I am working on. I may add some additional things to this project over the span of the next few months of working on this, and I will be documenting the whole process as I go so that you can see how the whole things is done, as well as my results and how I am using them.
































