alexmontoanelli

a place to have some fun..

Criando VirtualHosts no Apache para organizar seus Projetos

Se você trabalho com dezenas de projetos web, e utiliza o método mais que arcaico, para desenvolvimento, usando uma pastinha no DocumentRoot de seu apache, está na hora de mudar, e criar dominios virtuais e locais para seus projetos, inclusive cada virtualhost pode vir a adotar configurações independentes, sem afetar os outros.

Os procedimentos aqui forão realizando  num apache 2.2.8, mais em qualquer Apache deve ser suportada.

Vamos lá, vamos dizer que seus projetos estão em ‘/home/alexm/Projetos’ e lá dentro tenho as pastas, cada uma com um projeto, como por exemplo vamos adotar os seguintes projetos como exemplo:

www.meuprojeto1.com.br
intranet.empresa.com

Edite seu arquivo /etc/hosts e adicione as seguintes linhas:

127.0.0.1         www.meuprojeto1.com.br.local
127.0.0.1         intranet.empersa.com.local

Pronto, se você der um ping para intranet.empresa.com.local, o mesmo deverá estar respondendo no IP 127.0.0.1

Agora vamos a configuração do apache. Adicione as seguintes linhas no httpd.conf:

Listen 80
NameVirtualHost *:80

#Esta entrada ja deve exisitir em seu apache, e deve ser a primeira,
pois será o virtualhost padrão

ServerName localhost
DocumentRoot /var/www/htdocs

#agora vem os virtualhosts para cada projeto,
#antes uma definição Directory, para permitir acesso a pasta /home/alexm/Projetos

Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all

#agora os virtualhosts

servername www.meuprojeto1.com.br.local
documentroot /home/alexm/Projetos/www.meuprojeto1.com.br
</Virtualhost>

servername intranet.empersa.com.br.local
documentroot /home/alexm/Projetos/intranet.empersa.com.br.local

Agora reinicie seu apache, e aponte o browser para http://intranet.empersa.com.br.local e para
http://www.meuprojeto1.com.br.local e você deverá ver cada projeto em um host virtual único.

Como esse tipo de configuração você poderá configurar arquivos de logs independetes, do apache,
assim como flags do php.ini únicas para cada vhosts, usando php_flag e php_admin_flag, nas entradas . Mais informações sobre configurações php no apache aqui

Bom é isso, outra hora, posto uns scripts que tenho para automatizar o processo.

Abraços

July 9th, 2008 by alexm
Posted in php

Leave a Reply