Já faz um tempo desde que usei o servidor da web Apache httpd. Estou iniciando um servidor local para um projeto e quando tento solicitar localhost / index.html, recebo um erro 500 e vejo isso no log de erros:
[Tue Jan 21 09:23:58 2014] [crit] [client ::1] configuration error: couldn't perform authentication. AuthType not set!: /index.html
[Tue Jan 21 09:23:58 2014] [error] an unknown filter was not added: DEFLATE
[Tue Jan 21 09:23:58 2014] [crit] [client ::1] configuration error: couldn't perform authentication. AuthType not set!: /favicon.ico
Parece que existem possivelmente 2 erros aqui na configuração do apache, um relacionado a "AuthType not set!" e possivelmente outro relacionado a "filtro não adicionado: DEFLATE". Não sei o que isso significa ou por onde começar a me aprofundar.
Uma pesquisa básica do Google revelou este link que indica que o culpado pode ser "Exigir que todos sejam concedidos". Esta linha no meu httpd.conf pode estar envolvida.
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
Esta configuração do apache é principalmente o que é usado na produção para este projeto, então eu sei que funciona, mas não atualmente em minha estação de trabalho. O que isso significa e o que devo tentar a seguir? Eu tentei comentar "Exigir todos concedidos" e reiniciar o apache, mas sem sucesso.
Seguindo esta pergunta do SO , também carreguei o mod_authz_host
LoadModule authz_host_module modules/mod_authz_host.so
e adicionado "Permitir de todos", reiniciou o servidor. mas o problema persiste. O problema de esvaziamento parece não estar relacionado e foi facilmente resolvido adicionando
LoadModule deflate_module modules/mod_deflate.so
A questão permanece, como faço para resolver este erro 500?
[Tue Jan 21 09:44:20 2014] [crit] [client ::1]
configuration error: couldn't perform authentication.
AuthType not set!: /index.html
O problema aqui pode ser formulado de outra forma: como faço uma configuração que funcione tanto no apache 2.2 quanto no 2.4?
Require all granted
está apenas no 2.4, masAllow all ...
para de funcionar no 2.4, e queremos poder lançar uma configuração que funcione em ambos.A única solução que encontrei, que não tenho certeza se é a adequada, é usar:
Isso deve resolver seu problema, ou pelo menos resolveu para mim. Agora, o problema provavelmente será muito mais difícil de resolver se você tiver regras de acesso mais complexas ...
Veja também esta questão bastante semelhante . O wiki do Debian também tem instruções úteis para suportar 2.2 e 2.4 .
fonte
Como alternativa, esta solução funciona com a versão Apache2 <2.4 e também com> = 2.4. Certifique-se de que o módulo "versão" esteja habilitado:
Em seguida, use este código:
fonte
Apenas remova / comente a seguinte linha de seu arquivo httpd.conf (etc / httpd / conf)
Requer tudo concedido
Isso é necessário até a versão 2.2 do Apache e não é mais necessário a partir daí.
fonte
Acho que você tem uma versão 2.4.x do Apache.
Tem certeza de carregar estes 2 módulos? - mod_authn_core - mod_authz_core
PS: Minha recomendação para autorização e direitos é (por padrão):
fonte
httpd -l
?Você pode tentar
sudo a2enmod rewrite
se você usá-lo em sua configuração.fonte