Virtualhost é o método usado pelos servidores para hospedar mais de um site no mesmo computador, sendo acessados pela sua própria URL.
Vou mostrar abaixo como adicionar um virtualhost para um projeto local em seu computador.
Primeiramente vamos entrar na pasta “sites-available”, que é onde fica as configurações dos hosts virtuais disponíveis.
cd /etc/apache2/sites-available
Vamos criar um arquivo .conf para configuração do virtualhost do nosso projeto.
sudo gedit meusite.dev.conf
Neste arquivo sete o nome que o projeto vai ser chamado e seu caminho como no exemplo abaixo.
<VirtualHost *>
ServerName meusite.dev
DocumentRoot /var/www/meusite.dev
</VirtualHost>Abra o arquivo “hosts” na pasta /etc.
sudo gedit /etc/hosts
Adicionar na lista seu virtualhost como abaixo:
127.0.0.1 meusite.dev
Ativar seu novo virtualhost com o comando “a2ensite”, este comando criará um link para o site na pasta “/etc/apache2/sites-enabled”:
sudo a2ensite meusite.dev.conf
Para alterar as configurações é necessário reiniciar o apache:
sudo /etc/init.d/apache2 reload
Agora é só acessar seu novo virtualhost pelo navegador.
Ao acessar o “http://meusite.dev”, você visualizará o conteúdo da pasta “/var/www/meusite.dev”.
PS.: Você pode adicionar quantos sites quiser usando esses mesmos passos.























#1 por Bruno - 28 de agosto de 2009 em 13:53
você sabe como fazer para o apache identificar automaticamente a pasta contido no DocumentRoot como um ambiente de desenvolvimento?
Exemplo:
tenho 2 projetos
-> /var/www/projeto_A
-> /var/www/projeto_B
sem precisar ficar configurando sempre o vhost, ele ja identifica:
http://projeto_A.dev (para /var/www/projeto_A)
http://projeto_B.dev (para /var/www/projeto_B)
??
#2 por Berg Ginú - 1 de setembro de 2009 em 09:20
Cara ótimo post. Claro e direto, más sem perder conteúdo.
Valeu mesmo ajudou um bocado.
#3 por Giolvani - 12 de outubro de 2009 em 16:31
opa!!!
muito bom post, ajuda em muito nosso trabalho…
aqui funcionou de boa, mas tive que colocar no lugar de
adicionei a porta
agora só queria saber como fazer pra uma máquina da rede enxergar esse virtual host!!??
vlw
#4 por Chris Benseler - 13 de outubro de 2009 em 22:43
@Bruno acho que não rola
@Giovani você teria que ter, na rede, um gerenciador de DNS que apontaria o endereço que você quer para o IP da máquina que está com o webserver. Se não tiver acesso ao gerenciador de DNS, pode ir no arquivos hosts (no linux fica onde o Danilo apontou, no Windows normalmente é c:/windows/system32/drivers/etc, e no Mac OS não tenho idéia) e fazer o mesmo que o Danilo disse que fez no passo 127.0.0.1 meusite.dev mas coloque no lugar do 127… o IP da máquina onde está o webserver
#5 por Thiago Bellini - 6 de novembro de 2009 em 18:49
Danilo,
Eu segui os seus passos e percebi que mesmo tentando entrar em http://meusite.dev o mesmo insistia em ir para o default.
ai eu fiz a seguinte alteração:
<VirtualHost *> ServerName meusite.dev DocumentRoot /var/www/meusite.dev </ VirtualHost>eu alterei a sessão
por:
assim entrando em http://localhost vai para o default e meusite.dev vai para o devido!
inclusive, coloquei um link para o seu tutorial no meu site: http://www.linuxparatodos.com.br/artigos/lamp-server-no-ubuntu
#6 por DANIEL MAFFIOLETTI - 30 de dezembro de 2009 em 17:56
Post muito bem explicado, ajudou bastante. Parabéns