It's actually really simple to set up a Web server at home. I'm going to use this while I'm away at college to host game servers, have an offsite file backup, and share files with friends. Since the PC hosting the server will be at my house and I will be in my dorm room, obviously I can't just walk over and start changing system settings, so we'll need some kind of remote access.
Also, obviously, you'll need a dedicated PC, one you can leave running and leave connected at all times. What good is a server that goes down all the time? This PC doesn't have to be great, but remember, the more you run on it, the faster the PC needs to be to not lag (duh).
Step 1: Acquire a dedicated PC
AMD Sempron 64 2600+ (overclocked to 1.85 GHz)
1.5GB DDR RAM
nVidia GeForce4 MX420 64MB (GPU really not important, servers don't need good video cards, even integrated is plenty)
60GB hard drive (IDE) (not that good for a server, but good enough, I didn't want to spend any money on this)
DVD and CD drive (you'll need at least a CD drive to install the OS, other than that, not necessary)
3 Ethernet cards (you'll need at least 1)
This system performs very well as a server, so anything over this would perform even better. This PC cost about $100 to rebuild (already had RAM, case, optical drives, and hard drive though) and that was late 2007 that I rebuilt it.