Estou expandindo meu comentário para uma resposta a fim de fornecer a configuração detalhada em resposta à consulta do OP. Minha recomendação é mover sua configuração para blocos do VirtualHost para permitir maior flexibilidade. Apenas os bits essenciais são mostrados aqui:
<VirtualHost *:80>
ServerName default
DocumentRoot /home/admin/web/xxx.com/public_html
<Location />
Require all denied
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerName domain.com
DocumentRoot /home/admin/web/xxx.com/public_html
</VirtualHost>
default
pode ser qualquer nome ou endereço IP do servidor.
domain.com
é o domínio para o qual você deseja que seu servidor responda.
Explicação: Quando chamado com o endereço IP, o apache elabora a solicitação com o VirtualHost padrão. O primeiro VirtualHost definido é o padrão, independentemente de seu ServerName. Naturalmente, definir o nome do servidor para o endereço IP também funciona e deixará o servidor padrão livre para ser usado de outra forma. O bloco de localização nega todas as solicitações para todo o VirtualHost.
Editar: mais tarde, vi que a pergunta estava marcada com apache-2.2
, enquanto minha resposta usa a sintaxe apache-2.4
. Em apache-2.2
, a linha Require all denied
deve ser substituída por duas linhas: Order deny,allow
e Deny from all
. Além disso, um NameVirtualHost *:80
é necessário antes das definições de VirtualHost
.
Atualização: A pergunta foi atualizada, então acho melhor fornecer a configuração para apache-2.2
, incluindo todas as linhas necessárias. A mesma explicação acima se aplica.
Listen 8080
NameVirtualHost ipaddress:8080
<Directory "/home/admin/web/xxx.com/public_html">
Order allow,deny
Allow from all
</Directory>
<VirtualHost ipaddress:8080>
ServerName ipaddress
DocumentRoot /home/admin/web/xxx.com/public_html
<Location />
Order deny,allow
Deny from all
</Location>
</VirtualHost>
<VirtualHost ipaddress:8080>
ServerName xxx.com
DocumentRoot /home/admin/web/xxx.com/public_html
</VirtualHost>
Comentário: Concordo que existem outras soluções válidas; no entanto, é assim que eu gosto de organizar meus arquivos de configuração, com restrições de segurança dentro de Directory
ou Location
blocos, para saber onde procurá-los.