WEB hosting 101: How do I run it from my home PC?

I’m currently paying $15/mo to a company to host my very modest and mediocre web site and handle incoming e-mail. Since I have a static IP, I thought I might try to host it all from home, thus saving $180 per annum.
I have both the process capability, the RAM and the bandwidth to deal with this, but I have no idea where to start.

Do I need some special software? If my computer happens to be off, what happens to an e-mail sent to me at that time? How do I tell the Big Internet Cabal where my website is located?

I’m actually clueless - where do I start?

Here are a couple of places to get you started:

Note that your ISP may block inbound web or mail connections unless you have a business account. If you want or have your own domain name you will still need to pay for DNS services.

You can get site hosting for less than what you’re paying now, and unless you just want the experience and education I would recommend sticking with a hosting service.

The software you need is a web server (Apache, IIS), an SMTP server to handle mail delivery (Postfix, Sendmail, Exim), and a POP3 or IMAP server to handle mail reciept (Cyrus.)

If your computer is powered down or the mail service is not otherwise available, the remote SMTP servers will do one of two things:

A) Queue up the mail and re-attempt delivery at ever increasing intervals, eventually dropping it all together after a couple of days.

B) Drop the message immediately.

You don’t really need a shit-hot machine to handle web and email for low-traffic sites. An old Pentium II with 256MB of RAM will do nicely. Slap Linux (eg, a minimal Debian install) on there with Apache for the web and Postfix + Cyrus for the mail, and you won’t even make it sweat.

Other than IIS, I don’t know what you’d need to run it on Windows, except for perhaps Exchange. Does MS even offer a basic SMTP/POP3/IMAP stack?

Anyway, IIS and Exchange both usually come with the “Server” versions of Windows.

Regarding letting the world know that your site resides at your IP address, you do two things:

  1. Change the authoritative DNS server info at your domain name registrar to point to your ISPs DNS servers (or DNS servers that are hosted elsewhere), and

  2. Have your ISP (or somebody) create DNS records on their servers pointing your domain name to your IP.

Basically, it’s way simpler to pay somebody fifteen bucks a month to take care of it for you. If you’re not getting a lot of traffic, you can probably get an adequate package for half of that. Web hosting is a cutthroat business.