Por que essa configuração das configurações do host virtual baseado em nome não está funcionando?

2

Eu tenho dois domínios (siteA.com e SiteB.com) que apontam para o mesmo servidor da Web e gostaria de mostrar páginas da Web diferentes para cada um deles.

Os passos que tomei até agora são:

Copie o site padrão (siteA) para o siteB

1) sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/siteB 2) sudo vim /etc/apache2/sites-available/siteB

<VirtualHost *:80>
        ServerAdmin [email protected]

        DocumentRoot /var/www/siteB
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/siteB>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride FileInfo Indexes
                Order allow,deny
                allow from all
        </Directory>

</VirtualHost *:80>

Então eu criei em / var / www / siteB e criei uma amostra index.html lá.

No entanto, quando carrego meu domínio siteB.com , ainda sou direcionado para /var/www/siteA . Por que é que?

Eu tenho que renomear o /etc/apache2/sites-available/default para /etc/apache2/sites-available/siteA também?

ATUALIZAÇÃO:

Graças à resposta abaixo, parece que esqueci de ativar o site também como outra entrada:

<VirtualHost *:80>
            ServerAdmin [email protected]
            ServerName siteB.com
            ServerAlias www.siteB.com
</VirtualHost *:80>

para incluir também todos os subdomínios:

<VirtualHost *:80>
            ServerAdmin [email protected]
            ServerName siteB.com
            ServerAlias *.siteB.com
</VirtualHost *:80>

O mesmo vale para o siteA.

    
por Houman 10.06.2012 / 16:06

2 respostas

2

Você ativou o siteB usando o comando a2ensite siteB e, em seguida, reinicie o servidor da Web?

    
por 10.06.2012 / 16:21
0

Eu tenho lutado por dias com um problema virtualhost ... Talvez relacionado: Aqui está o que eu tinha:

<VirtualHost *:80>
     ServerName www.domain1.com
     ServerAlias domain1.com
     Include /etc/apache2/vhosts.d/domain1.include

     <IfModule mpm_peruser_module>
            ServerEnvironment apache apache
     </IfModule>
</VirtualHost>

<VirtualHost domain2:80>
    ServerAlias domain2.com
    ServerName www.domain2.com
    Include /etc/apache2/vhosts.d/domain2.include

    <IfModule mpm_peruser_module>
            ServerEnvironment apache apache
    </IfModule>
</VirtualHost>

domain1 estava enviando conteúdo do domínio2!

Finalmente eu mudei

<VirtualHost domain2:80>

para

<VirtualHost *:80>

e funcionou.

  • A configuração do virtualhost com base em "IP" estava em execução no domínio2, que tem o mesmo IP que o domínio1, e nunca esteve nem mesmo olhando para minha primeira entrada do VirtualHost

  • As tags precisam ser idênticas ao IP [e à porta] para ver o ServerName e o ServerAlias

Espero que isso ajude alguém.

    
por 06.02.2013 / 07:42

Tags