Houve uma pergunta semelhante à sua já publicada no Stackoverflow:
Erro interno 500 Apache
Primeiramente, como você demonstrou que sua porta está viva e aceitando usuários, navegar para um subdiretório não funciona.
Eu enfrentei um problema semelhante no CentOS, no qual a raiz funcionava link , mas quando eu fui para link , me deu um erro 500.
Isso foi causado por uma falta de permissões na pasta / xyz e que o arquivo .htaccess / httpd.conf não foi configurado corretamente com:
<VirtualHost :80>
...
Insert your permissions here
</VirtualHost>
Ou alternativamente (desde que você não queira acesso público a isso e limite-o a um IP de sua escolha):
<Directory /xyz>
Options Follow Symlinks
Order deny, allow # If you want it to be public, use Order Allow, Deny; and
Deny from all #Allow from all
Allow from {IP of your choosing} #If Allow from all is present, this is line is not necessary.
</Directory>
Mexa no seu arquivo httpd.conf / .htaccess, é um problema de permissão. :)
EDITAR:
Além disso, certifique-se de que, se você usar um banco de dados para exibir conteúdo em / xyz, que as credenciais usadas pelo backend .php estejam corretas, um erro de banco de dados pode ser oculto da exibição pública com um erro interno 500. (Uma maneira fácil de verificar isso é: apt-get install lynx e, em seguida, emitir o link do Lynx