This post is part 2 in a series on Starting Your Own Website on the Cheap.
Setting up DNS for a domain is a commonly glossed over detail in most tutorials about setting up a website. It appears everyone just assumes that everyone else plans on paying for a hosted solutions which include DNS. The goal of this tutorial was to give people an idea of how to get started for cheap so I'm going to assume you only have a domain.
The details of how DNS works are beyond this tutorial. Here's what you need to know: The company you purchased your domain from only hosts a record of who (aka the nameserver) a computer needs to ask to find your website. They don't point to your website directly, that point to a nameserver who knows. We need to find someone to be our nameserver.
Now you have to decide who's going to host your DNS records.You have three options. Do it yourself, use a pay service or use a free service.
Do it yourself. You could set up a DNS server at home and set your home's IP address as the nameserver for your domain. Then, by changing the settings in your DNS server, point your website to wherever you want. However, if your home computer has consumer level internet access, then it most likely has a dynamic IP address (an IP address that changes frequently). This means that the IP address you just set for your domain will constantly need to be updated on your registrars site. If your skills are high enough for that, you probably don't need to be reading this.
Pay someone. If your paying for hosting, DNS will probably come along with it... since this is about getting your website set up for cheap I'm going to assume you're not going to pay someone.
Free services. There aren't many decent free DNS services available. If you plan to host your website from your home computer on a consumer internet connection with a dynamic IP addrees, then you have fewer options. FreeDNS or ZoneEdit appear to be the top options when it comes to free DNS with dynamic updates. Sign up for a free account on either service then, on your domain registrar site, set your nameservers to the providers servers (e.g. ns1.zoneedit.com) and now you can point your domain wherever you'd like via you DNS provider's web interface.
If your goal is to run a website on your home computer connection then you will need to run either ZoneEdit's IP update client or FreeDNS's client on your home computer. These will keep the IP address for your home computer updated when it changes. Be aware that many consumer level internet providers (including mine) block the port (port 80) that web traffic runs on. You can get around this. One option is to run your home webserver on a different port and set the DNS settings to the new port.
In the situation of gdgtry.com I've set up a "web foward" for my domain. So when someone requests gdgtry.com the nameserver tells them to go to gdgtry.wordpress.com instead. This allows me to host my site on any one of the numerous free providers and simply forward my domain to it.
Previously - Part 1: Finding and Purchasing a Domain