Apache2 “Exigir tudo concedido” não funciona

10

Eu tenho uma nova instalação do Apache2 no teste Debian e configurei um host virtual em um diretório como este:

<Directory "/path/to/project">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

No entanto, ele me mostra um erro 403 Proibido quando eu o acesso e o log de erros mostra:

[Mon Sep 23 22:07:57.249276 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of Require all denied: denied
[Mon Sep 23 22:07:57.249349 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of <RequireAny>: denied
[Mon Sep 23 22:07:57.249361 2013] [authz_core:error] [pid 8599] [client 127.0.0.1:49057] AH01630: client denied by server configuration: /path/to/project/some_file

Por que está sendo exibido "resultado de Exigir todos negados: negados" se eu estiver usando "Exigir tudo concedido" ?

Os arquivos são legíveis por qualquer usuário e caso eu tente mudar o proprietário para o Apache (www-data) sem sorte. Além disso, o host padrão em http://localhost funciona normalmente e o phpmyadmin em http://localhost/phpmyadmin também funciona.

Toda a ajuda que encontrei na Internet é sobre a substituição da diretiva Order por Require. Eu já fiz isso. Qual poderia ser o problema agora?

    
por hairlessdev 24.09.2013 / 05:22

4 respostas

4

Aqui estão duas coisas para tentar:

1) Execute apachectl -t para verificar se a sintaxe do seu arquivo é válida.

2) Execute apachectl -S para mostrar quais arquivos estão sendo analisados.

Por exemplo, você pode estar editando /usr/local/etc/apache2/2.4/httpd.conf e é isso mesmo? ... mas se você executar o apachectl -S, poderá ver:

VirtualHost configuration:
*:80                   localhost (/private/etc/apache2/extra/httpd-vhosts.conf:23)

ie. O host virtual está sobrescrevendo seu httpd.conf e pode conter seu próprio Require all denied ou similar.

    
por 29.06.2015 / 08:48
3

Você configurou a autorização, mas não a autenticação. Portanto, embora o "Exigir tudo concedido" conceda a todos os usuários autenticados acesso, seus usuários não autenticam de fato.

    
por 24.09.2013 / 06:19
2

Como você está usando a diretiva AllowOverride All , você também pode ter um arquivo .htaccess em /path/to/project/ . Este pode conter uma diretiva de overriden.

Verifique também se você não tem outro parâmetro em um VHost, por exemplo.

    
por 05.03.2014 / 00:57
1

Depois de ter instalado o Wampserver 32, tive o mesmo problema de ser rejeitado pelo Apache.

Eu verifiquei e tentei modificar o arquivo httpd.conf de várias maneiras durante 3 dias sem sorte, indo em todos os tutoriais do Apache e fóruns da Internet com o famoso erro:

AH01630: client denied by server configuration

Eu tinha certeza de que não havia definido nenhum VirtualHost e nenhum deles deveria ser visto no arquivo httpd.conf.

Por fim, configurei o servidor para o arquivo de erros "debug", o que me deu a mensagem mais interessante:

AH01626: authorization result of Require local : denied

que por sua vez me leva a este post.

E lá estava, escondido no arquivo C:\wamp\bin\apache\apache2.4.18\conf\extra\httpd-vhosts.conf : um VirtualHost indesejado com um "requerer local" explícito que, é claro, rejeitou todas as minhas consultas de fora do servidor.

Agora, eu esvaziei este arquivo até que eu precise de algum VirtualHost, e ele funciona bem. No final, eu acho bastante estranho do Wampserver não só pré-configurar este arquivo sem notificar o usuário, mas definir o valor padrão para que o "servidor" não possa servir nada.

    
por 23.08.2016 / 16:25

Tags