Out of interrest how would you host your own website. i know you would need a server but if you made one and hooked it up to the web n brought a domain name, what application would you need?
I recommend AppServ (server bundle installer includes Apache, MySQL [with PHPMySQL], and PHP). Once installed, you open/forward the necessary ports (80 for HTTP minimum) on your router/firewall.
Once that's done, you move your web content to the www folder located in c:\AppServ\.
There's security in the minority (Windows servers almost always use IIS, and Linux usually uses Apache, rarely is there a server that uses Apache on Windows). So it's a reliable and safe solution for an at-home-server.
If you want to add functionality to your server, here's a few suggestions:
-FTP: Use FileZilla Server. Need to open/forward port 21.
-Email: Use MercuryMail Server. Need to open/forward ports 25, 110, and 143)
-Domain: Use No-IP.com for a free subdomain with DDNS client, or ZoneEdit and DirectUpdate for a domain.
If you have no budget for hosting, I absolutely recommend hosting yourself. No ads and no additional expense (unless you want a domain). It's also a great teaching tool as it gives you real-world experience in managing a server.