Pessoal,

Quando desenvolvemos websites localmente, é fundamental simular ao máximo o ambiente de produção para evitar erros no momento em que o deploy será efetuado. Todos os projetos desenvolvidos na Verticis são desenvolvidos localmente nas máquinas dos desenvolvedores, e para melhor configurar os ambientes, utilizamos os hosts virtuais (VirtualHosts) do apache para simulá-los.

configurar-multiplos-virtualhosts-apache

Como exemplo, se estamos desenvolvendo alguma aplicação para o cliente XYZ utilizamos localmente os ambiente xyz.verticis.com.br.

Explicarei agora como fazer tais configurações.

1. A primeira coisa a se fazer é criar os redirecionamentos internos para que o windows aponte os domínios para seu ambiente local. Isso pode ser feito no arquivo hosts que funciona como um DNS interno.O arquivo hosts fica no diretório %windir%\System32\drivers\etc\ no windows, ou no diretório /etc/hosts/ no linux.Inclua os domínios que deseja apontar no fim do arquivo, informando seu ip local:

1
2
127.0.0.1        abc.verticis.com.br
127.0.0.1        xyz.verticis.com.br

2. Edite o arquivo de configuração do apache httpd.conf e inclua as informações de seus VirtualHosts:

1
2
3
4
5
6
7
8
9
10
11
NameVirtualHost 127.0.0.1:80
 
<VirtualHost 127.0.0.1:80>
ServerName abc.verticis.com.br
DocumentRoot "D:/workspace/web/abc"
</VirtualHost>
 
<VirtualHost 127.0.0.1:80>
ServerName xyz.verticis.com.br
DocumentRoot "D:/workspace/web/xyz"
</VirtualHost>

Onde:

NameVirtualHost – Informa ao apache as configuração do host virtual que você utilizará.
VirtualHost – Item de configuração de um VirtualHost.
ServerName – Nome de entrada do VirtualHost criado. Importante lembrar que para que a requisição chegue ao apache, o nome escolhido precisa estar configurado no arquivos hosts do windows, como fizemos no passo 1.
DocumentRoot – Diretório raiz de seu servidor, onde estará localizado seu arquivo index.

3. Reinicie o apache.
4. Abra o navegador e digita algumas das url’s que configurou como um VirtualHost (abc.verticis.com.br ou xyz.verticis.com.br). Os domínios agora irão apontar para seu projeto hospedado localmente. 😀

É muito útil tornar organizados os ambientes de desenvolvimento, principalmente quando várias pessoas trabalham no mesmo projeto. Alguns frameworks que utilizam sistemas de urls amigáveis (Symfony, por exemplo) requerem que a aplicação esteja sempre hospedada na raíz do domínio ou mesmo em um subdomínio, e isso pode ser feito com um VirtualHost.

Espero que seja útil!