well by using apache you can designate a folder on your computer as the root folder meaning outside localhost your computer will only show that folder and anything in it to other computers. They do this only by typing in your IP address into the search bar. and if you have a index.html or index.php (whatever programming your going to use) then they can't type in direct webpages, you can also create a members only area that if not logged in it redirects them to your index page.
Lastly to get around the IP address being given out. visit www.dyndns.com and setup a free account they provide a webpage address that points to your IP without ever giving out what your IP actually is and can point to a dynamically altering IP depending on your service provider but the website at dyndns finds it for you anyways and you can change it at will.