Estes passos funcionaram para mim no Ubuntu 12.04 LTS x86_64:
Você precisa criar um novo arquivo de site em /etc/apache2/sites-available/john.mysite.com.conf
A extensão .conf
é muito importante, sem ela, o resto não vai funcionar !!
Em seguida, configure o site algo assim:
<VirtualHost *:80>
ServerName john.mysite.com
DocumentRoot /var/www/john
<Directory /var/www/john/>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Salve as alterações e ative o site com o comando:
sudo a2ensite john.mysite.com
Recarregue o apache para ativar o site com:
sudo service apache2 reload
Reinicie o serviço apache:
sudo service apache2 restart
Depois disso, você precisa configurar o DNS para apontar para o site também (como um subdomínio), o DNS levará algum tempo, mas na minha experiência leva apenas alguns minutos (15).
Espero que isso ajude !! :)