Seu apache2.conf
tem o mesmo ServerName mydevsite.com
para ambos os vhosts. O Apache deseja que nomes distintos identifiquem cada host virtual. A configuração poderia ser assim:
<VirtualHost *:80>
ServerName mydevsite.com
DocumentRoot "/var/www/html"
</VirtualHost>
<VirtualHost *:80>
ServerName apps.mydevsite.com
ServerAlias *.mydevsite.com
DocumentRoot "/var/www/html/apps"
</VirtualHost>
Em caso de dúvida, leia Servidor HTTP Apache Versão 2.4 - Usando hosts virtuais baseados em nome .
Antes de reiniciar o Apache, teste a configuração:
$ sudo apache2ctl configtest
Se o configtest sair sem um erro, reinicie o Apache:
$ sudo systemctl restart apache2.service