client denied by server configuration: /home/username/Development/PHP/foo.dev.com/public_html/
Isso me faz pensar em um problema semelhante que tive:
Verifique se www-data user tem a permissão x bit definida para cada pasta no caminho para /home/username/Development/PHP/foo.dev.com/public_html
Ou tornando www-data o proprietário das pastas: chown www-data
Ou conceda o x bit a others : chmod o+x
EDITAR:
Finalmente, consegui reproduzir. Parece que %0 não é suportado na diretiva <Directory> . Eu corrigi isso adicionando um * :
UseCanonicalName Off
<VirtualHost *>
VirtualDocumentRoot "/home/username/Development/PHP/%0/public_html/"
<Directory "/home/username/Development/PHP/*/public_html/">
Require all granted
</Directory>
</VirtualHost>