Apache VirtualHost answering when I browse to IP address

When you start to use virtual hosts on a webserver you have to make a virtual host for the normal server too. If you don't create one, the first virtual host defined will be the default one for any connections to the server not matched by another virtual host ServerName or ServerAlias directive.

Check the section "Main host goes away" on this URL for this explanation:
http://httpd.apache.org/docs/2.2/vhosts/name-based.html


The *:80 tells that vhost to answer on port 80 for every IP. If you are going to do Name Based Virtual Hosts, you must define a default as default:80 with what you want for the default. You cannot use both vhost and non-vhost configs on the same port.