Sunday, March 25, 2012

Hosting My Own Websites From Home

Last December, I purchased a handful of servers, along with some switches and a 7 ft tall rack to house them all off of a buddy. A month later, I got them setup at another buddies office, but after a few delays and realizations, I decided to bring them back home and set them up in my own house.

Doing this presented some challenges in regards to everything that comes with hosting your own servers in your own house. For example, the servers require a dedicated 220 service. Not only that, but I needed to put the servers in a place where they will stay dry and cool. Oh did I mention, the servers are loud as hell? Like "jet engine" loud... Lastly, in order for them to be useful, I needed to have my own dedicated static IP address running to the house. This one was the big one; it required that I switch from one ISP to another! With this change came a new TV service and everything. Yes, I'm committed to my goal of hosting my own sites. :)

Another big obstacle that I have yet to hurdle is that there is (currently) no place in our house that is ideal for setting these servers up that is dry / cool / sound proof. Given all of these factors, I've decided to shelve them for a few months and figure out a plan this summer to get a sound-proof room built with it's own thermostat in the garage with it's own 220 service (more on that in a later post).

In the meantime, I've configured my old development machine to be my web full time webserver; it's working great so far. The server is an old 4gb RAM / 64bit AMD box with a 160gb HD. I've wiped it clean and installed Ubuntu Server on it with OpenSSH and a simple LAMP configuration. I installed Git and configured Gitosis so that I can easily manage new code repositories from anywhere without ever logging in and configuring users and directories. The site is currently only hosting one Ruby on Rails site so far (which isn't online yet). Once I get everything ticking like clock work, I will host a slew of websites. Some for friends and family, but some for profit of course.

Everything has been pretty strait forward so far. The hardest part for me has been configuring the static IP. In the last 12 hours, I've spent 8 (solid) hours trying to get my network configured correctly. I've been through books, websites, Unix man pages, and a few shot-in-the-dark attempts. All that, and I'm still not online with it. It's amazing that I've made it as far as I have in the computer industry without fully understanding NAT, DHCP, DNS, and "Port Forwarding". I've learned more about these terms in one day than I have in the last 12 years, I still have quite a bit to learn too...

For now, Jennifer is just happy to have her internet back up. :) Tomorrow, I plan to call my ISP and have them walk me though it once and for all.

No comments: