To host your own website you need sufficient bandwidth and port 80 forwarded to your computer. You will then need to negotiate with your ISP for a static IP address. Then redirect the domain you are going to register to that address. You then need a http service running on that port.
You can register for a domain name here.
My recommendation is better you choose a web hosting company. Hosting from home is not an easy task and has many, pit falls. In most cases using a host is a far more appropriate way to host a website as opposed to hosting your own pages on your own hardware. Because you intend to run a business on your site is very important to get it right from the start. By using a hosting company you get their experience and ability.
That, and most are under $10 a month for great service. And you can always upgrade. Many, such as godaddy for $7 a month, offer unlimited bandwidth. You won't run out ever and know (you could just round it up) that your website will always be there.