Now I have a high speed optical fiber internet connection that just got upgraded, I am going to experiment with web hosting from home. The upload speed is around 7MB/s. Download speed is always faster with home internet.
For the allways-on server hardware I am going to use an old mini-ITX (EPIA-M) computer that should have low power consumption since the CPU doesn't need a fan. I plan to disconnect the CD ROM, and IDE hard drive.
For the OS, I am thinking to install Debian Linux onto a modern external USB Hard Drive (2.5 inch type). Plug this into a USB port, and configure the BIOS settings to boot from this drive (USB-HDD). I was using this 500GB drive to store media files, but I think that I can install Debian onto it and keep the data files to still share on my home network. It will involve some disk partitioning maybe?
In the modem configuration there is a one-click web server setup feature. This will route port 80 (the standard port for web sites) traffic to this server box (it's IP address on the network).
For the server software, I will set up the standard LAMP (Linux, Apache, MySQL, PHP) stuff.
And to share files with Windows computers over the network, I think there is a package called SAMBA.
In the Apache web server you can set up virtual hosts for multiple websites.
And to route the web addresses to the IP address of your home server, you can set up a nameserver domain (in your domain registrar's control panel such as GoDaddy) that links your registered domains to a mechanism to translate the domain name to your server's IP address (DNS). So for all of your domain names, you will set them to use this new nameserver that is under your control.
Well, that's the theory!
All good fun ...