Vhost dinâmico dando 403 proibido no OSX Apache

Vhost dinâmico dando 403 proibido no OSX Apache

eu tenho seguidoeste guiae estou tentando criar vhosts dinâmicos no OSX, permitindo foo.devdirecionar para a pasta web /foo. Minha diferença é que estou usando ~/Sitescomo 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.devao index.phparquivo 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:

  1. 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.

  2. 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.

informação relacionada