vhost dinâmico dando 403 proibido no OSX Apache

2

Eu segui este guia e estou tentando criar vhosts dinâmicos no OSX, permitindo que foo.dev Direcione para a pasta da Web /foo . Minha diferença é que estou usando ~/Sites como minha pasta da web em vez do Mac HD como no guia. Ele usa o dnsmasq, que acredito estar instalado e funcionando corretamente.

Então, na minha pasta ~ / Sites, eu tenho:

home
sites
|-foo
|-bar

Meu httpd-vhosts.conf se parece com isto:

<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 ir para home.dev leva ao exemplo do arquivo index.php que tenho na raiz desse vhost.

O segundo vhost apenas fornece um erro 403 Forbidden para qualquer coisa.dev, existindo ou não uma pasta para o subdomínio de .dev.

Alguma idéia?

Editar:

Últimas entradas do 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 (foi um problema com o diretório de log de erros no arquivo de configuração). Mas ainda não é possível acessar vhosts dinâmicos.

    
por harryg 16.12.2013 / 23:47

3 respostas

2

Qual é o conteúdo do seu 2º site?

Existem dois motivos possíveis:

  1. Se um diretório não tiver um documento índice (index.php, index.html, default.html, etc) e a listagem de diretório não for permitida, o Apache exibirá uma página de erro 403.

  2. Noto que você não ativou o ExecCGI em sites.dev. Você poderia tentar ativá-lo?

Atualizado: O sinal de porcentagem no caminho ( /Users/harryg/Sites/sites/%1 ) é para mod_vhost_alias, mas não as regras <Directory> do Apache. Modifique isso:

<Directory "/Users/harryg/Sites/sites/%1">

Para isso:

<Directory "/Users/harryg/Sites/sites">

Isso funciona?

    
por 17.12.2013 / 07:21
1

Acabei de me deparar com este mesmo problema e acabou por ser uma configuração predefinida no apache. no httpd.conf é isso

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

remova a linha "Negar de tudo" e reinicie o apache.

    
por 04.10.2014 / 22:07
0

Os estados de erro 403 para acesso negado. Você precisa verificar as permissões no diretório da árvore até o diretório do site.

Certifique-se de que o usuário executando o Apache tenha permissões de leitura e execução para os diretórios e leia os arquivos.

    
por 17.12.2013 / 01:08