This article will guide you throught the main steps needed in order to host a website at home. As this is a wide topic I'll try to be the most concise as possible.
The main barrier you will find is to direct the requests for www.example.com to your dynamic ip address, but don't worry if you follow these passages everything is going to be all right.
My first aim was to put into practise my knowledge of html and create a small online business and a small blog. In order to do so my main principle was to spend the less possible.
Looking online for a guide about how to host a website at home I was very frustrated by the fact that many people suggested me to purchase a hosting service. But I was determined to host a website on my own. Now I really appriciate the effort I did.
Hosting a website at home gives you the chance to learn how to install, mantain and work with a server. While if you decide to purchase that service you'll not be able to understand what's going on in the background.
The first step is to buy a domain from a certified company. Remember that not only the price is important, but you should pay attention to some important features:
DNS records redirect the requests from example.com to your server. It's fundamental to understand that this is the only way for hosts to access your webpage. Here the problems start as you will probably have a dynamic address.
In this step you will allow to the external "world" to connect with your server. What you need to do is to configure your firewall to allow port 80 for http (or 443 for https) and redirecting the traffic to the static ip address of your server on the same port.
This article was last updatated the 1/2/16