Si tienes un router, tienes que abrir el puerto 80, para que la gente desde internet al poner tu ip pública pueda verla.
El problema que comentas de que al poner tu ip publica en el navegador y que no puedes verla, es por el echo de que el router interpreta que estás dentro de tu propia red y lo traduce como una llamada al router en si.
Por ejemplo:
IP Privada Router 192.168.0.1
IP Publica 62.174.xxx.xxx
Si tu pones
http://192.18.0.1 te saldrá la página de configuración del router, pero si tu pones
http://62.174.xxx.xxx también te saldrá ya que para el router es la misma dirección por estar dentro de su propia red.
Pero la gente que ponga
http://62.174.xxx.xxx si vera tu página web y no la de configuración del router.
Y sobre el tema del Virtualhost: http://www.forosdelweb.com/f58/faq-apache-345421/
En ese post hay F.A.Q que se titula
Creando VirtualHost(s) y Dominios Virtuales en mi PC , que explica como acerlos.
Pd.: He puesto xxx.xxx porque no sabia que numeros poner.
Pd2.: La IP privada del router no tiene porque ser esa, es sólo para poner un ejemplo.