Não foi possível fazer com que os hosts virtuais funcionassem, veja o que estou fazendo de errado (CentOS 6.0)

Não foi possível fazer com que os hosts virtuais funcionassem, veja o que estou fazendo de errado (CentOS 6.0)

vhost.conf , localizado em etc/httpd/vhost.d/

NameVirtualHost *:80

    <VirtualHost *:80>
         ServerAdmin [email protected]
         ServerName localhost
         ServerAlias localhost.example.com
         DocumentRoot /var/www/html/example.com/public_html/
         ErrorLog /var/www/html/example.com/logs/error.log
         CustomLog /var/www/html/example.com/logs/access.log combined
    </VirtualHost>

    <VirtualHost *:80>
         ServerAdmin [email protected]
         ServerName example.org
         ServerAlias www.example.org
         DocumentRoot /var/www/html/example.org/public_html/
         ErrorLog /var/www/html/example.org/logs/error.log
         CustomLog /var/www/html/example.org/logs/access.log combined
    </VirtualHost>

httpd.conf, configurações padrão, adicionadas no final:

Include /etc/httpd/vhosts.d/*.conf

Diretórios raiz:

DocumentRoot "/var/www/html"

Respectivos diretórios para os hosts virtuais criados na pasta acima. Todas as permissões parecem corretas. Arquivo Index.php em cada public_htmldiretório. No entanto, quando eu digito localhost agora, ele me leva para a página padrão do Apache 2, caso eu remova a linha Include /etc/httpd/vhosts.d/*.confwebserver funciona conforme necessário do diretório padrão, servindo qualquer arquivo de índice que eu coloquei lá.

Responder1

Com base no que foi digitado, não parece que você tenha erros de sintaxe. Então faça isso no arquivo /etc/hosts (se estiver fazendo diretamente do servidor):

127.0.0.1   example.org
127.0.0.1   example.com

Ou no arquivo host do seu PC:

YOURSERVERIP  example.org
YOURSERVERIP  example.com

E navegue para esse domínio em vez de localhost.

A razão pela qual você acabou de ver a página da web do Apache é porque o Apache precisa saber para onde ir - como você ainda não tem a configuração do DNS, nada é enviado ao Apache com o nome do host em questão, então o padrão é a raiz do documento .

Responder2

Como a linha Incluir vem depois dos seus VirtualHosts, eu acho que um desses vhosts incluídos está substituindo os novos. O que diz "httpd -S"? (pode não ser "httpd", pode ser "apache2" ou outra coisa). O sinalizador -S mostrará todos os hosts virtuais que você configurou e ajudará na depuração.

Você pode tentar remover a linha de inclusão e ver se isso faz com que seus novos blocos funcionem. Você também pode verificar seu log de erros para ver se há algum aviso sobre seu arquivo de configuração.

informação relacionada