Justamente has puesto los dos tipos que hay de virtualhosts y sólo tienes que usar uno.
Hay dos tipos de VirtualHosts, ip-based y name-based.
En tu caso si sólo tienes una ip, pues deberías usar el name-based (basado en el nombre).
El primer ejemplo es named-based
<VirtualHost
www.megustaelhacker.net>Y el segundo ejemplo es basado en ip.
<VirtualHost 10.0.0.1>
Los dos dominios deben apuntar a la la misma ip y el servidor web ya sabrá cuál mostrar, no analiza el tráfico ni nada de eso, simplemente cuando escribas
www.megustaelhacker.net te llevará al documentRoot (httpdocs) de /groups/smallco/www.
Los vhosts pueden estar basados en nombre (based-name) o en ip (ip-based).
Me explico, si tu máquina tiene una sola ip, pues deberas hacer vhosts basados en nombre, y si tienes varias ips pues puedes elegir, yo solo se hacerlo basado en nombre, ya que sólo tengo una ip:
Por ejemplo:
Tenemos el apache y queremos alojar nuestra web y la de un amigo:
El amigo compra el dominio pepe.com y apunta las dns a nuestra maquina.
Nosotros tenemos que decirle a nuestra máquina esto:
<VirtualHost *>
ServerAdmin
amigo@pepe.comDocumentRoot /web/amigo_pepe/
ServerName pepe.com
ErrorLog logs/web_amigo_pepe_errpr
CustomLog logs/web_amigo_pepe_log common
</VirtualHost>
Ejemplo real de un vhost based-name (basado en nombre) del dominio elhacker.net, totalmente completo:
#le decimos listen y la ip de nuestra maquina y el puerto (normalmente 80)
Listen *:80
#recuerda que si sales por un router deberás poner Listen 192.168.0.3 , o sea la ip local, ya que sinó al arrancar el apache dará el error "could not bind address port"
NameVirtualHost *:80
#este es el vhost por defecto. Aunque está basado en nombre, este vhost como es por defecto, también podemos acceder directamente por la ip.
<VirtualHost *:80>
DocumentRoot /usr/local/apache/htdocs/alex
ServerName
www.elhacker.infoServerAlias elhacker.info
</VirtualHost>
#segundo vhost basado en en el nombre (dominio)
www.elhacker.net y elhacker.net
<VirtualHost *:80>
ServerAdmin
alex@elhacker.netDocumentRoot /usr/local/apache/htdocs/elhackernet
ServerName
www.elhacker.netServerAlias elhacker.net
</VirtualHost>
Asi en nuestro ordenador tendremos nuestra web y la de nuestro amigo, y las dos estaran en la misma IP y en el mismo servidor web. En este ejemplo solo hay 2 dominios, pero igual que hay 2 podriamos poner 200.
Fuente:
http://foro.elhacker.net/tutoriales_documentacion/instalar_apache_php_mysql_perl_en_windows_y_linux_configuracion_avanzada-t251.0.html