Criando vários hosts virtuais no Apache da maneira certa (macosx)

Criando vários hosts virtuais no Apache da maneira certa (macosx)

Tive um problema estranho ao tentar definir vários hosts virtuais no Apache. Este é o meu código para o arquivo httpd.conf:

<VirtualHost *:8888>
    ServerName site1.local
    DocumentRoot /Applications/MAMP/htdocs/site1/public

    <Directory /Applications/MAMP/htdocs/site1/public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:8888>
    ServerName site2.local
    DocumentRoot /Applications/MAMP/htdocs/site2/public

    <Directory /Applications/MAMP/htdocs/site2/public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Quando tento acessar “site2.local” no navegador, sou redirecionado para “site1.local”. Isso acontecerá com todas as definições do VirtualHost que insiro abaixo no arquivo httpd.conf. Quando quero acessar "site2.local" ou qualquer outro, preciso colocar sua definição de VirtualHost no topo (como a primeira). Então, presumo que o Apache esteja executando corretamente apenas o primeiro VirtualHost.

Além disso, outro problema: se eu tentar acessar algum arquivo do projeto na minha pasta htdocs que não esteja definido no VirtualHost, receberei uma mensagem "Proibido, você não tem permissão para acessar/projeto/neste servidor". Se eu quiser acessar algum desses projetos, preciso remover todas as definições do VirtualHost no arquivo httpd.conf.

O que estou fazendo errado?

No meu caso, estes (definidos no VirtualHost) são projetos PHP com Zend Framework. Estou usando MacOSX.

Obrigado

Responder1

você está faltando

NameVirtualHost *:8888

e

<VirtualHost _default_:8888>
DocumentRoot /www/default
</VirtualHost> 

Para obter mais informações sobre o host virtual padrão do Apache, você pode ler este documento online

http://httpd.apache.org/docs/2.2/vhosts/examples.html

informação relacionada