Tente colocar um ip e uma porta específicos em cada bloco do VirtualHost. Então coloque:
<VirtualHost 127.0.0.1:80>
Temos um novo servidor Centos instalado com o Apache 2.4.9. Estou tentando fazer o vhost funcionar. O DNS resolve para a máquina certa, e eu posso ver a página padrão do Apache, então não é um problema de firewall e o Apache é executado.
/etc/httpd/conf/httpd.conf
Include conf.d/*.conf
/etc/httpd/conf.d/vhosts.conf
<VirtualHost *>
ServerName www.abctest.com
DocumentRoot /websites/abctest.com/htdocs
<Directory /websites/abctest.com/htdocs/public>
AllowOverride All
</Directory>
</VirtualHost>
ls / etc / httpd / modules
modules/mod_vhost_alias.so
website
Em /websites/abctest.com/htdocs é um arquivo index.php com o helloworld nele. Depois de reiniciar o httpd, ainda recebo a página do Apache, não o texto do helloworld.
Como posso fazer isso funcionar?
Tente colocar um ip e uma porta específicos em cada bloco do VirtualHost. Então coloque:
<VirtualHost 127.0.0.1:80>
Sua configuração VirtualHost
indica que o apache aceita solicitação de qualquer uma das interfaces no host, mas deve ter um cabeçalho Host: www.abctest.com
para selecionar DocumentRoot
as /websites/abctest.com/htdocs
. Geralmente, qualquer outro cabeçalho Host
fará com que o apache use o VirtualHost padrão a ser usado.
Caso você esteja tentando abrir a página da Web com http://localhost
, acabará recebendo páginas do padrão DocumentRoot
.
Você pode verificar isso mais facilmente com o comando curl
.
curl -L 'http://www.abctest.com'
E também certifique-se de que você tenha um IP para hospedar o mapeamento de www.abctest.com
em /etc/hosts
file, como abaixo.
127.0.0.1 www.abctest.com www
Alguns itens para verificar:
Verifique se você não tem outras entradas VirtualHost que possam ser chamadas posteriormente.
Normalmente, a entrada *
no VirtualHosts é usada para solicitações sem um ServerName, embora eu esperasse que isso funcionasse, tente alterar a primeira linha de:
<VirtualHost *>
para
<VirtualHost www.abctest.com:80>
(Supondo que você esteja usando a porta padrão 80 para o host).
Aqueles itens aleatórios de lado, dê uma olhada no seu access_log e error_log. Eles podem ajudá-lo a identificar o caminho que está sendo utilizado para, em seguida, localizar dentro do arquivo .conf para ajudar a diminuir o conflito / causa.
Você precisa ativar a hospedagem virtual baseada em nome.
Na minha caixa Centos está na parte inferior de /etc/httpd/conf/httpd.conf
as
# NameVirtualHost *:80
Você precisa remover o símbolo '#' do início da linha para ativá-lo e depois reiniciar o Apache.
Sem o acima, o Apache está usando o host virtual baseado em IP. Como (eu presumo) o nome do seu host e do host virtual resolvem para o mesmo endereço IP, então o primeiro correspondido ganha, que no seu caso é a página inicial do Apache.