I would strongly suggest that you get a cheap web hosting VPS first before trying this. At best, most ISPs don't' care too much about people hosting web sites at home without a business account. Worse case, your account can be suspended.
Putting aside that, if you do want to host your web site at home, do NOT presume that your IP will not get changed. Instead, get yourself a Dynamic DNS provider like these guys:
http://dyn.com/dns/
Which will update your DNS to your IP automatically when it changes (using either a script to a software client on your home computer). That said, charges for additional subdomains may apply. You will need to review their pricing and see if they will fit your needs.
However, if you are not planning to have your domain be exposed on the internet, you can setup your DNS yourself and use whatever domain you want, using either BIND, DNSMasq or other DNS software. NOte that DNS configuration itself even for the easiest software packages will take some work.
Finally, if you really don't want to mess with DNS and you just want to learn how to use Apache, just update your host file on your home computer when connecting to your Ubuntu box with the subdomains in question. So if you have a domain call foo.bar.com on your ubuntu box 192.168.15.10, add the following in your host file (I am using my Mac as an example).
192.168.15.10 foo.bar.com
This is obviously not scalable in the long run.