If this was working then vps.mydomain.com and server IP should show the default apache page and mydomain.com should show the site located at /var/www/username/public_html.
Corrija enquanto você recarregar o Apache para reler seus arquivos de configuração.
Isso soa como um problema de propagação de DNS para mim. Verifique os registros de DNS para mydomain.com e www.mydomain.com de sua máquina local e de uma máquina remota para ver se você obtém os mesmos resultados. Em seguida, verifique novamente, pois a verificação de algumas vezes seguidas pode retornar resultados diferentes se o registrador delegar a mais de um NS.
Veja também whatsmydns.net para verificar os registros DNS de vários NS ao redor do mundo.
Se você conseguir excluir o DNS, verifique se o Apache leu seu bloco do VirtualHost usando
httpd -S
ou
apache2ctl -S
Você deve ver todos os valores de listados com o vhost padrão na parte superior:
*:80 is a NameVirtualHost
default server vps.mydomain.com (/etc/httpd/conf/httpd.conf:10)
port 80 namevhost vps.mydomain.com (/etc/httpd/conf/httpd.conf:10)
port 80 namevhost www.mydomain.com (/etc/httpd/conf/httpd.conf:20)
alias mydomain.com
Is the way I'm setting up the domain the best route to take?
Acho que é uma boa ideia hospedar seus sites de clientes separados do seu suporte / corporativo. Apenas certifique-se de que o seu site de suporte "não possa" ser desativado (por exemplo, ambiente geo-redundante ou provedor redundante).
Eu também evitaria hospedar seu próprio DNS. Manter o DNS ativo e altamente disponível geralmente é mais incômodo do que vale a pena, especialmente se você considerar as consequências se ele quebrar.