There are many reasons why you would want to have your website professionally hosted. However, some people are better off hosting their site themselves. For example, if you are starting a new business or playing with an idea that you are not sure will work, you might not want to pay a hosting company to host your site, at first. Hosting the site yourself will allow you to save money that you can use to grow your business. Once your business starts growing and your site starts getting a lot of visitors, then you will find it necessary to pay a web hosting company to host it for you, but until then, you need to test the waters.
If you have a computer and a high speed internet connection (DSL/Cable) you can host your own website. You will need to keep your computer on and online 24/7, which might not be a big deal for you. Besides this, you need only to follow the 7 steps I describe below, to make your website available to users on the internet:
1) Install a web server: Most Windows operating systems either come with a web server, or one can be downloaded for free depending on the version of Windows. The web server is the program that runs in the background on your computer and listens to requests from people on the internet. It's the software that finds your pages in your computer and sends them to the users requesting it.
4) Configure DNS: You can think of DNS as a database containing name-ip pairs that look like "(google.com, 24.65.64.215)." This is where you associate your website name with the IP address (the real address) of your computer so users are transferred to your computer when typing the name of your website. When someone types a domain name in their browser the domain name needs to be translated to the correct IP address of the computer that has the website.
Video Source: Youtube
This article is free for republishing
Source: http://pedrogarcia.articlealley.com/how-to-build-a-web-server-and-get-your-own-domain--7-steps-to-hosting-your-site-yourself-14426.html