Apache 2.4 vhost não funciona

0

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?

    
por SPRBRN 12.06.2014 / 17:33

4 respostas

0

Tente colocar um ip e uma porta específicos em cada bloco do VirtualHost. Então coloque:

<VirtualHost 127.0.0.1:80>
    
por 10.12.2014 / 12:40
0

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
    
por 26.12.2014 / 19:37
0

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.

    
por 12.06.2014 / 21:51
-1

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.

    
por 13.06.2014 / 14:15