Een virtualhost is gewoon een domain die op je server staat.
Stel je hebt als server adres: 192.168.1.1 maar je hebt
www.foo.nl en
www.bar.nl die je allebei wilt doorverwijzen naar het zelfde ip. Dan is de workflow als volgt:
Je verwijst in DNS de 2 URL's naar 192.168.1.1.
Op 192.168.1.1 maak je 2 virtualhosts aan in je Apache2, namelijk bar.nl en foo.nl verder maak je in /var/www de mappen foo & bar aan.
Dan stel je Apache2 dus zo in dat als er iemand naar foo.nl surft, hij in de map /var/www/foo terecht komt, en als hij naar bar.nl surft hij in /var/www/bar terecht komt.
Dat is het principe van een virtualhost.