Home
September 10th, 2009 — James

Disclaimer: Use this guide at your own risk. The setup is based on my own expertise and experience and your mileage may vary or may even not work for you.

The idea of this guide is to show you a way to host your own website from your home. This may not be the cheapest setup but should be close. The hosting will be on a Linux server specifically on openSUSE distribution. If you are completely new to computers or do not want to bother with black or green screens with lot of text, a better option is find a cheap hosting solution.

This cheap solution requires some expertise on computer setup and confidence in figuring out simple computer settings. Almost all the pieces are free open source components. The only pieces I identified as where you need to pay are for the domain name which is less than $10 a year as of this writing and for the server hardware. I assume you already have an Internet connection and will not paying anything extra for this setup.

I host this website on a server at home. It took a lot of research and effort to get this setup working. I thought I would share the knowledge I gained so that someone else will benefit. I assume that you are not overwhelmed by Linux and its text based configurations. If you use any other Linux distribution than openSUSE, you may have to lookup where the configuration files are and such. This is one gripe I have against the whole Linux ecosystem. They should at the least standardize on locations of executables and configuration files.

  1. You need a broadband Internet connection. You do not want to host it on a dial up connection even though technically you can do it. Serving up anything other than text will be too taxing on a dial up upload speed. Here is the guide to choosing your connection. It also will tell you how to setup your router (D-Link) for handling web requests from outside.
  2. Get a domain name from a domain registrar that allows you to host your website on your own servers. I use 1& 1 as my domain registrar. I will be using the control panel on the 1&1 admin web site to explain registrar related steps. Here is how to get a domain name using 1 & 1.
  3. Get a free account at a DNS service like zoneedit or everydns. I will start with zoneedit examples and may add everydns examples later. Here is how to setup the DNS service at zoneedit. Here is how you set the DNS for your domain to Zoneedit. If you have a Cable or most DSL connections (no static IP address) you will need a way to update the DNS lookup whenever your ISP changes your IP address. We will ddclient in our example.
  4. You need a computer that can run Linux. Since I picked up openSUSE after some research, this guide will use openSUSE as the Linux distribution of choice. I am not a Linux expert and my experience is that different distributions work differently and have file and configurations located in different places. I will try to use the cheapest possible configurations for this guide. For a cheap hardware search Google for “cheap bare bones PC”. I got links for PC’s that are cheaper than $200. They probably won’t have any OS installed on it and is perfect for our setup. Not having an OS installed on it and not having a support other than just the warranties makes the hardware cheap. I suggest that you use a mirroring RAID solution using Linux. I do have this setup but don’t know how it works in case of failure. Keep at least 2 hard disks in the mirror RAID like RAID 1. To setup RAID1 you need at least 2 hard drives and make sure the bare bones PC has slots for at least two hard drives.
  5. Get a router that can forward port traffic to a computer in the home network. Right now I have a D-Llink router and here is the guide to using D-Link router interface.
  6. How to setup ddclient to update your domain IP at zonedit.com. Coming soon…
  7. How to install and configure a Linux server for web hosting part 1. Coming soon…
  8. How to configure Apache web server for hosting one or more web sites. Coming soon…
  9. How to configure MySQL for hosting WordPress blog on your website. Coming soon…
  10. A google applications account for email, calendar and contacts. Coming soon…
  11. Setting up google adsense for monetizing traffic to your website. There is no guarantee that you will make money from the website. I did it because it was easy and free to setup. Coming soon…
Leave a Reply

Spam Protection by WP-SpamFree