Como configurar o Apache para múltiplos subdomínios

3

Eu tenho vários subdomínios diferentes apontando para o mesmo diretório / aplicativo no meu apache 2.2.

Assim:

<VirtualHost *:80>
ServerName subdomain1.domain.com.br
ServerAdmin [email protected]
DocumentRoot /var/www/application
</VirtualHost>

<VirtualHost *:80>
ServerName subdomain2.domain.com.br
ServerAdmin [email protected]
DocumentRoot /var/www/application
</VirtualHost>

O problema é configurar o apache a cada subdomínio é adicionado no servidor DNS.

É possível ter apenas um virtualhost, representando todos os subdomínios?

Algo parecido com isto:

<VirtualHost *:80>
ServerName *.domain.com.br
ServerAdmin [email protected]
DocumentRoot /var/www/application
</VirtualHost>
    
por Renato Liibke 10.02.2017 / 14:30

1 resposta

1

Sim, é possível, mas no artigo Exemplos do VirtualHost não há uma sintaxe mencionada como% código%. Neste caso você tem que usar a diretiva ServerAlias , e a configuração do VirtualHost deve ser algo como isso:

<VirtualHost *:80>
    ServerName domain.com.br
    ServerAlias *.domain.com.br

    ServerAdmin [email protected]
    DocumentRoot /var/www/application
</VirtualHost>

Por favor, note que a diretiva ServerAlias pode ser usada somente no contexto do host virtual.

Acho que, no caso de todos os seus subdomínios apontarem para uma pasta DocumentRoot, se você definir ServerName no contexto do servidor, o resultado será quase o mesmo:

<VirtualHost *:80>
    ServerName domain.com.br
    ServerAlias *.domain.com.br

    ServerAdmin [email protected]
    DocumentRoot /var/www/application
</VirtualHost>

Nesse caso, você deve inserir ServerName *.domain.com.br a seguir:

xxx.xxx.xxx.xxx  domain.com.br

Onde /etc/hosts é o endereço IP do seu servidor.

    
por pa4080 10.02.2017 / 15:14

Tags