Apache2 “Exigir tudo concedido” não funciona


12

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 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á mostrando "resultado de Exigir tudo negado: negado" se estou usando "Exigir tudo concedido" ?

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

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


Parece correto para mim. Tem certeza de que não há outra diretiva mais específica com a opção Exigir tudo negado?
Richard Salts

Respostas:


5

Aqui estão duas coisas para tentar:

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

2) Execute apachectl -Spara 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á substituindo seu httpd.conf e pode conter um valor próprio Require all deniedou semelhante.


3

Você configurou a autorização, mas nenhuma autenticação. Portanto, embora o 'Exigir tudo concedido' conceda acesso a todos os usuários autenticados, eles realmente não são autenticados.


9
Então, onde você deve configurar a autenticação? Não é muito claro ...
edi9999

2
Embora tecnicamente correto, isso não responde à pergunta. Require all grantedpermite especificamente todo o acesso e não precisa de autenticação. Não há sentido em se autenticar quando você metaforicamente abre as portas.
Martijn Heemels 22/03

2

Como você está usando a AllowOverride Alldiretiva, você também pode ter um .htaccessarquivo /path/to/project/. Este pode conter uma diretiva anulada.

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


Eu estava lutando com esse erro. Após muita análise de todos os arquivos de configuração do Apache, encontrei um arquivo .htaccess com conteúdo inválido. Nenhuma das mensagens apontou para isso.
Dustin Butler

1

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

Eu verifiquei e tentei modificar o httpd.confarquivo de várias maneiras por 3 dias sem sorte, percorrendo os tutoriais e fóruns da Internet do Apache com o famoso erro:

AH01630: cliente negado pela configuração do servidor

Eu tinha certeza de que não defini nenhum VirtualHost e não havia nenhum no arquivo httpd.conf.

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

AH01626: resultado da autorização de Exigir local: negado

que por sua vez me levou a este post.

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

Agora, esvaziei esse arquivo até precisar de algum VirtualHost e ele funciona bem. No final, acho bastante estranho para o Wampserver não apenas pré-configurar esse arquivo sem notificar o usuário, mas também definir o valor padrão para que o "servidor" não possa servir nada.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.