Hosting a Website at Home

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.

Responsive image

Why Hosting at Home?

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.

1. Buy a Domain

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:

  • It is possible to freely transfer the domain to another company in case you will need to
  • Look carefully the DNS settings available, you want to be able to frexibly edit CDME records, ip records (AAAA) and even freely change DNS provider.
  • 2. DNS Settings

    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.

  • As a solution to the problem I strongly suggest you to inscribe to noip.com as you can purchase the service called "Plus Managed DNS" for a low price and being able to point the traffic to your server even if your ip is dynamic thanks to an app that will constantly update your ip. In add, the product include a service that allows you to evade the blocking of the port 80 by your isp.
  • 3. Setup your Router

    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.

    Step 0.

    If you have not installed nginx yet I suggest you to read my article about how to compile Nginx and tools to website management. These two are comprehensive guides about how to install and manage a website.

    This article was last updatated the 1/2/16