I am sure you would have thought atleast once of hosting your website from your machine itself, if not the website atleast a sandbox version of it as it would be comparatively easy for you to maintain it so i discuss the steps you need to follow to achieve this, first lets go through the requirements, in this post i am talking about small sized sites a minor modified version of this post is applicable for large sites as well.
1) A really broad Internet Connection.
2) A Static IP
3) A High End Machine (if the site you are hosting is pretty static a lower end machine is sufficient to be more clear a dynamic personal blog kind of site will also never need more than 1000 Mb of RAM unless you are the Top blogger of the country)
4) Server Software (Apache preferred)
5) A Database Server (if needed, mysql/postgresql recommended)
6) Scripting Support (might be PHP. perl, python as per the requirements)
In simple words your local LAMP machine can work as the server for your website :)
I have the machine ready with a good internet connection and a static IP Now what
Hey you are almost done just a few entries here and there and you host the website from your home
Now you will need to resolve your domain to your IP address, now whats it and how will i do this
Its quite simple you need to add an entry in DNS so that it can resolve this, request your registrar to do this for you if you are unable to do this, generally you would be able to do this at no additional costs, in simple terms if you have registered a domain say example.com and your static IP is x.x.x.x then example.com should resolve to x.x.x.x thats it.
Once the above step is done and are planning to host only one website then your setup is ready :) if you need to host more than one domains on this single machine just add virtual hosts in your server configuration for each of the domains and make all domains pointing to same IP.
What else you will have to do ?
Keep this machine up 24x7 after all you will not like your site to be down
Also dedicate the machine as server dont try playing games on it, its a server now and putting extra load to it will slow down your site performance
I would warn hosting a server is not that easy as it looks like security issues can pop up now and then and you should be technically sound to handle this so its recommended spending some amount and take a hosting plan from someone in the business after all he is there for providing you services.