Check out dyndns.org. There are other similar services, but I've used dyndns and have been very pleased. If you have a static IP (like through Telocity/DirecTV) you can sign up for static service (you can do it even if you don't technically have a static IP, but if your IP changes more than once every few months you might get tired of having to manually change it). If you have a dynamic IP that changes fairly frequently you can get dynamic service and download a client that will automatically update the DNS pointer for you. Basically dyndns will make a name of your choice (whatever.dyndns.org - there are more choices like .homeip.net) point to your IP. From there you'll just need to forward port 80 to your server and run the server.
Note that you don't have to use a DNS service like dyndns. You could always just use your IP as your address. But the DNS alias is much prettier.