Depending on the size and traffic on your website, you can host your own with nothing more than a server and a static ip.
You know where to get a server, and a static IP address can be obtained from many of today's fast access ISP's, such as a cable provider. They will usually charge you a little more each month for the static IP address.
Once you have your IP address, and the server up and running, you just register that IP/domain name with any DNS service out there, and requests for that domain name start streaming in on that IP.
From there, you are up and running. However, there are about a million things to worry about once you get there. Security is the biggie, and issues range from your SMTP server being used as a spam portal to having your website completely destroyed by a hacker... and the other 999,998 issues fall somewhere between those two.
Websites need hardware firewalls to protect them from outside attacks. Good ones cost big bucks. Then what about redundant power supplies if the power at your house goes out for a few days? Also need to think about backups... what happens if lightning strikes and wipes out your hard drives? Your website goes with them.
The list never stops, and it's the reason why companies make very good money by hosting people's websites... with the power of thousands of customers' money behind them, data centers are able to provide a fairly high level of service and redundancy to the average web developer for not much money.
On the other hand, the best way to learn something is to just jump right in and do it. Your website probably won't have the fastest response times, or have the 100% uptime, but you'll learn alot in the process, and those skills have the potential to take you a long way.
good luck!

paul