accessing site on virtual server

I added a virtual server for site example.com
it’s root is /home/example/

The site is accessable through:
http://xx.xx.xx.xx/~example/index.html

but when I try to go to http://www.example.com or http://example.com my vps site loads instead which has it’s root in /home/

What is causing this?
Is it DNS?

Here is the DNS for that account
$ttl 38400
@ IN SOA ns1.myvps.tld. root.vps.myvps.tld. (
1200087983
10800
3600
604800
38400 )
example.com. IN NS ns1.myvps.tld.
example.com. IN NS ns2.myvps.tld.
example.com. IN A xx.xx.xx.xx
www.example.com. IN A xx.xx.xx.xx
ftp.example.com. IN A xx.xx.xx.xx
m.example.com. IN A xx.xx.xx.xx
mail.example.com. IN A xx.xx.xx.xx
example.com. IN MX 5 mail.example.com.
example.com. IN TXT "v=spf1 a mx a:example.com ip4:xx.xx.xx.xx -all"

All the xx.xx.xx.xx are the same IP which is the IP for my VPS.

In looking at the DNS for one of my sites at another host that has a cPanel install the DNS has an entry like this:
example.com. IN A 127.0.0.1

Do I need to add that?

I would like to know that myself. By the way what is this line referring to:"m.example.com. IN A xx.xx.xx.xx"??

In looking at the DNS for one of my sites at another host that has a cPanel install the DNS has an entry like this: example.com. IN A 127.0.0.1

Do I need to add that?

Why do they add such an entry? That seems non-sensical to me, but maybe they’re putting it into a private view? If this were in the public view it would simply fail to work (127.0.0.1 is a non-routable address, that always means “this machine”–if you gave it to outsiders their browser would try to find the website on their own machine).

I would like to know that myself. By the way what is this line referring to:"m.example.com. IN A xx.xx.xx.xx"??

The de facto standard mobile domain name. Virtualmin Professional has a mobile accessible theme that can be triggered either by logging in with a recognized mobile device, or by hitting an m. address.