eu tenho seguidoeste guiae estou tentando criar vhosts dinâmicos no OSX, permitindo foo.dev
direcionar para a pasta web /foo
. Minha diferença é que estou usando ~/Sites
como pasta da web em vez do Mac HD como no guia. Ele usa dnsmasq que acredito estar instalado e funcionando corretamente.
Então, na minha pasta ~/Sites eu tenho:
home
sites
|-foo
|-bar
Meu httpd-vhosts.conf é assim:
<Virtualhost *:80>
DocumentRoot "/Users/harryg/Sites/home"
ServerName home.dev
UseCanonicalName Off
ErrorLog "logs/home/error.log"
<Directory "/Users/harryg/Sites/home">
#Options FollowSymLinks
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Allow from all
</Directory>
</Virtualhost>
<Virtualhost *:80>
VirtualDocumentRoot "/Users/harryg/Sites/sites/%1"
<Directory "/Users/harryg/Sites/sites/%1">
Options FollowSymLinks
#Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Allow from all
</Directory>
ServerName sites.dev
ServerAlias *.dev
UseCanonicalName Off
</Virtualhost>
O primeiro vhost funciona bem e leva home.dev
ao index.php
arquivo de exemplo que tenho na raiz desse vhost.
O segundo vhost apenas fornece um erro 403 Proibido para qualquer coisa.dev, existindo ou não uma pasta para o subdomínio de .dev.
Alguma ideia?
Editar:
Últimas entradas de registro
Log de erros do Apache:
[Wed Dec 18 00:45:37 2013] [error] [client 127.0.0.1] File does not exist: /Users/harryg/Sites/home/favicon.ico
[Wed Dec 18 00:45:45 2013] [error] [client 127.0.0.1] client denied by server configuration: /Users/harryg/Sites/sites/test/, referer: http://home.dev/
[Wed Dec 18 00:45:45 2013] [error] [client 127.0.0.1] client denied by server
O servidor agora funciona (houve um problema com o diretório de log de erros no arquivo de configuração). Mas ainda não consigo acessar vhosts dinâmicos.
Responder1
Qual é o conteúdo do seu segundo site?
Existem duas razões possíveis:
Se um diretório não tiveríndicedocumento (index.php, index.html, default.html, etc) e a listagem de diretórios não são permitidas, o Apache exibirá uma página de erro 403.
Percebo que você não ativou o ExecCGI em sites.dev . Você poderia tentar habilitá-lo?
Atualizada:O caminho de entrada percentual ( /Users/harryg/Sites/sites/%1
) é para mod_vhost_alias, mas não para as regras do Apache <Directory>
. Modifique isso:
<Directory "/Users/harryg/Sites/sites/%1">
Para isso:
<Directory "/Users/harryg/Sites/sites">
Funciona?
Responder2
Acabei de encontrar o mesmo problema e acabou sendo uma configuração padrão no Apache. no httpd.conf é isso
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
remova a linha "Negar de todos" e reinicie o Apache.
Responder3
O erro 403 indica acesso negado. Você deve verificar as permissões no diretório da árvore até o diretório do site.
Certifique-se de que o usuário que executa o Apache tenha permissões de leitura e execução para os diretórios e leitura de arquivos.