Like others have mentioned, the lack of static IP's can be coped with by using dynip or dyndns.org. I'd recommend dyndns simply because they have an dynamic IP updating client, which can be supported by windows and linux OS. If you however have static IP's, you can also consider using DNS services like afraid.org, that is if you don't like running a DNS server at home ofcourse. I also don't recommend running a website from a home server because of the need ofhigh upload speed, but if you are building it for learning about web hosting I'd go for it.