Escolha uma categoria

Configurando Multiplos Apache VirtualHost

Salve galera! Estou começando a trabalhar com o Zend Framework agora e tive dificuldades em configurar o Virtual Host aqui. Fazia toda a configuração certa, mas sempre que acessava o Virtual Host caía na pasta localhost. O meu erro foi um ‘dois-pontos’ antes da porta utilizada pelo windows. Então vou colocar o passo-a-passo aqui.

Como configurar o virtualhost no apache para multiplos projetos

1º Passo – Configurar o httpd.conf

Eu utilizarei o esquema de pastas aqui do meu computador, então não adianta dar Control-c Control-v que não vai funcionar.

Primeiramente… acesse a pasta do seu apache e entre na pasta conf, execute então o arquivo httpd.conf

No meu caso utilizando o Xampp o caminho ficou: D:\servidor\apache\conf\

Este arquivo contém todas as configurações de inicialização do apache, como módulos que serão carregador e etc.

Localize a linha que contém “Include conf/extra/httpd-vhosts.conf” e verifique se a linha não está comentada (com um #). Caso esteja comentada retire a tralha da frente.

Caso você vá utilizar o framework zend ou algum outro que precise estar com o modRewrite habilitado, aproveite e encontre e descomente a seguinte linha:

LoadModule rewrite_module modules/mod_rewrite.so

Feito isso, salve e feche o arquivo.

Obs: tive dificuldade em salvar o arquivo, não havia permissões suficientes. Neste caso, copie todo o conteúdo do arquivo httpd.conf, apague ele, crie outro arquivo chamado http.conf e cole o conteúdo. Assim você poderá salvar nele sem problemas.

2º Passo – configurar o httpd-vhosts.conf

Primeiramente… acesse a pasta do seu apache, acesse a pasta conf -> extra. execute então o arquivo httpd.vhosts.conf

No meu caso utilizando o Xampp o caminho ficou: D:\servidor\apache\conf\extra

Este arquivo contém todas as informações relacionadas a VirtualHosts que você irá emular no seu apache.

A configuração que utilizei para funcionar é a seguinte:

NameVirtualHost 127.0.0.1:80

<VirtualHost *:80> #onde 80 é a porta que o windows utiliza para HTTP. no seu caso, provavelmente será a mesma porta
DocumentRoot “d:/servidor/htdocs/tutorial-zend” #raiz do meu projeto
ServerName zend.localhost #nome do virtualHost, você irá acessar através do navegador assim: zend.localhost
<Directory “d:/servidor/htdocs/tutorial-zend”>  #local onde está o meu projeto

#aqui pode ser adicionado mais algumas regras de pastas como no exemplo abaixo.

#você também pode adicionar outras como regras de alias entre outras.

Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
</VirtualHost>

#abaixo mais um exemplo de configuração, este é até interessante você deixar para acessar sempre através do seu navegador o localhost

<VirtualHost *:80>

DocumentRoot “d:/servidor/htdocs”
ServerName localhost
<Directory “d:/servidor/htdocs/”>
</Directory>
</VirtualHost>

Feito isto, pode salvar e fechar o arquivo. Caso tenha dificuldades na hora de salvar o arquivo e o sistema informar que você não tem permissão para alterar o arquivo, copie todo o conteúdo, delete o arquivo, crie novamente o arquivo httpd.vhosts.conf e cole o conteúdo nele novamente, salve, feche e pronto!

3º passo – configurar os hosts do windows

Localize o arquivo de hosts do seu windows. Geralmente o caminho é o seguinte:

C:\Windows\System32\drivers\etc\hosts

onde hosts é o nome do arquivo, ele não tem extensão (.exe, .dll, etc..)

Abra o arquivo e adicione o endereço ip e o nome do seu host.

o exemplo dos dois projetos acima seria:

127.0.0.1 zendteste.localhost
127.0.0.1 localhost

Beleza!

Agora é só você reiniciar o seu apache, abrir o navegador e digitar: zendteste.localhost ou localhost…

Caso queira adicionar mais projetos é adicionar mais projetos. Abaixo um exemplo de um arquivo httpd-vhosts.conf com vários projetos:

NameVirtualHost 127.0.0.1:80

#primeiro!

<VirtualHost *:80>
DocumentRoot “D:\servidor\htdocs\zend-teste\public”
ServerName zendteste.localhost
<Directory “D:\servidor\htdocs\zend-teste\public”>
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
</VirtualHost>

#mais um!

<VirtualHost *:80>
DocumentRoot “D:\servidor\htdocs\projeto1”
ServerName projeto1.localhost
<Directory “D:\servidor\htdocs\projeto1”>
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
</VirtualHost>

#mais um!

<VirtualHost *:80>
DocumentRoot “D:\servidor\htdocs\projeto2”
ServerName projeto2.localhost
<Directory “D:\servidor\htdocs\projeto2”>
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
</VirtualHost>

#mais um!

<VirtualHost *:80>
DocumentRoot “D:\servidor\htdocs\projetoN”
ServerName projetoN.localhost
<Directory “D:\servidor\htdocs\projetoN”>
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
</VirtualHost>

#mais um!

<VirtualHost *:80>
DocumentRoot “d:/servidor/htdocs”
ServerName localhost
<Directory “d:/servidor/htdocs/”>
</Directory>
</VirtualHost>

#e assim por diante!

#Não esqueça de adicionar o servername também no arquivo hosts do windows

Se tiver alguma dificuldade em instalar o virtual host no seu windows deixe seu comentário ou entre em contato com sergioronei ‘arroba’ gmail #ponto# com

Em breve vou postar tutoriais do Zend Framework também!

Um comentário

  1. Meu caro me ajude!
    Em C:\Windows\System32\drivers\etc\hosts
    Tenho estes hosts
    127.0.0.1 localhost
    127.0.0.1 zend.localhost

    ——————————-
    Em C:\xampp\apache\conf\httpd.conf
    Está em modo Rewrite
    LoadModule rewrite_module modules/mod_rewrite.so
    Include “conf/extra/httpd-vhosts.conf”

    ——————————-
    Em C:\xampp\apache\conf\extra\httpd-vhosts.conf
    Tenho seguintes hosts:

    DocumentRoot “C:\xampp\htdocs\ProjetoZend”
    ServerName zend.localhost

    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1

    DocumentRoot “C:\xampp\htdocs”
    ServerName localhost

    O problema é que abre apenas o primeiro site
    mesmo que eu ponha as urls sempre vai para o primeiro

    Se eu trocar as posições o o primeiro assume e o segundo deixa de funcionar

    Voce tem a solução para isso?

Deixe uma resposta

O seu endereço de email não será publicado. Required fields are marked *

*