In this how to you will learn and find pointers on how to host your own web server at home. You will not need to pay monthly hosting or anything. You can use your own home computer. This how to is ideal for small websites, if you are planning on hosting huge websites that will get a lot of traffic you will need very good server hardware and software, but for the purpose of hosting your own personal page that will receive low traffic, this is a good scenario.
How to host your own server at home
For this to work you will need a decent home computer, preferably not the one that you will play games on at all times, preferably a dedicated computer that you will not use for anything else and you need some other stuff that will be mentioned below
Make sure you got your hardware, a decent computer and preferably dedicated and something that does not contain your sensitive and private data. Since this will be online 24/7 and it will not offer any high security, make sure that this computer is free from any private data that might be valuable to hackers
Make sure you have a decent Internet connection with good upload speeds (since you will host a server you will be uploading a lot). It is recommended you have an internet connection with a static ip address, this will resolve a lot of issues with DNS.
Now you need your software, there are a lot of web server software out there. Personally I recommend linux and then you can install xampp (this is the easiest way to go and if this is your first server, this will help a lot) and you can get it for free from http://www.apachefriends.org/en/xampp.html
Install the required software on your computer and fire it up (you might want to read some help and tutorials on how to setup this software)
If you want to use your own domain, you might want to take a look at http://www.zoneedit.com/ to setup your domain name to translate to your home PC (using DNS)
Make sure you don’t have any firewalls blocking port 80, as all the HTTP connections will come through port 80, and if you want FTP etc, make sure that these ports are not blocked too.
Create your first html page and put it up on the server, go to your computer IP or domain name using whatever browser you want and check if the web page is displaying properly. If you are getting an error make sure that the ports are not blocked and if you are using a router, make sure you set it up to forward traffic to the PC that is going to host the server.
Have a good read at http://www.dslwebserver.com/ for more information
Please note that this will offer you only the basic stuff, you can’t compare this to an actual server. This will not provide you with enough security and stability. This method is fun to play around with but for the real thing you might want to buy proper hardware and software, including firewalls and all, otherwise, if you leave it like that you will be open to Zombie and Ddos attacks, and your computer will crash because it will not be able to handle all those requests.