Como corrigir erros mod_authz_host do Apache no Linux



Experimente Nosso Instrumento Para Eliminar Problemas

Ao instalar o serviço apache2 no Red Hat Enterprise Linux, Arch, Scientific Linux, Servidor Debian, Servidor Ubuntu ou qualquer uma das outras distribuições que o suportam, você pode descobrir que obtém um erro sobre o módulo mod_authz_host que impede a execução do serviço . Provavelmente, você consideraria esse erro um problema sempre que reiniciar o serviço apache2. Este erro geralmente vem na forma de um aviso de sintaxe sobre a primeira linha do arquivo, mas você poderia teoricamente obter algum erro diferente.



Independentemente de qual linha você possa ter problemas, a correção tem pouco a ver com o mod_authz_host não ser instalado ou mesmo carregado na RAM. Na verdade, se você está recebendo este erro, significa que o serviço do servidor apache2 está carregando corretamente o módulo. O problema tem a ver apenas com o fato de que uma diretiva está fora do lugar em algum lugar, e reorganizar o código deve resolver o problema rapidamente. Observe que você ocasionalmente verá instruções para instalar o mod_authz_host no apache2, o que é irrelevante para esta discussão. Seus erros não vêm da falta de um pacote específico nem de qualquer tipo de dependência não preenchida. A maneira como os desenvolvedores optaram por expressar esses erros leva a esses equívocos comuns.



Corrigindo as diretivas do módulo strict.conf

Para fins de discussão, usaremos a enciclopédia de distribuição Linux em distrowatch.com para nossos exemplos. A documentação oficial do apache2 usa dev.example.com como exemplo e, em qualquer caso, você não vai querer usar nenhum desses endereços.



Abra o arquivo com um editor de texto. Como ele está em um diretório protegido, você precisará ter acesso root. Nós costumavamos , mas você também pode usar o vi ou outro editor de texto de sua preferência. Você não precisa necessariamente usar um editor de console, mas certifique-se de usar gksu em vez de sudo, se apropriado.

Depois de carregar o arquivo, preste muita atenção em algo que diz, por exemplo:



Negar pedido, permitir

Negar de todos

Permitir em distrowatch.com

Este texto só deve existir dentro de blocos. Observe o espaço na primeira tag. Se você tiver essa linha de texto flutuando fora de qualquer bloco, adicione tags ao redor dela ou mova-a para que fique assim:

Negar pedido, permitir

Negar de todos

Permitir em distrowatch.com

Lembre-se de que você precisará substituir distrowatch.com pelo URL real com o qual está trabalhando. Se você encontrar linhas que façam referência direta a dev.example.com, então você as copiou diretamente do código de exemplo ou elas foram adicionadas por padrão. O domínio example.com existe apenas para ilustração em documentos técnicos e não tem nenhum propósito real. A documentação oficial em httpd.apache.org/docs/2.2/howto/access.html realmente faz referência a eles. Provavelmente, você poderá removê-los com segurança ao adicionar o novo texto em.

Se você precisar incluir um diretório em seu arquivo strict.conf, você pode substituir tags com tags, mas você precisa se certificar de manter o espaço na primeira tag mais uma vez. Certifique-se de salvar o documento e fechá-lo antes de reiniciar o serviço apache2. Você não deve ter mais problemas de agora em diante.

Isso é o que o servidor apache quer dizer quando retorna um erro como:

O erro real teria um número de linha no lugar do octothorpe, mas indica que as diretivas não estão colocadas com segurança dentro de tais tags. Você pode navegar diretamente para a linha fornecida no erro ao depurar o script para verificar o que há de errado com ele. Embora o erro em questão lhe diga que o log de erros do Apache pode ter mais informações, provavelmente apenas reforçará os mesmos conceitos discutidos aqui.

Erros de sintaxe futuros podem ser corrigidos de maneira semelhante. Você pode descobrir que, depois de corrigir esse problema, o serviço apache2 exibe outro erro. Isso é normal, por mais estranho que possa parecer, porque ele só executa o código até a primeira linha em que encontra um problema. Se houvesse problemas mais adiante, isso nunca os afetaria. Se você tiver algum desses problemas, preste muita atenção ao número da linha ao editar o Arquivo. Se você estiver usando o nano para editar o arquivo, poderá sempre manter pressionada a tecla Ctrl e pressionar a tecla C para descobrir em qual linha seu cursor está. Isso tornará o processo de depuração muito mais tranquilo.

Você pode descobrir que tem vários blocos flutuando de uma maneira que não estão ligados a nada. Cada um deles precisa ter tags. Remova os blocos extras sempre que você descobrir que tem várias cópias do mesmo URL com as mesmas diretivas exatas, uma vez que essas duplicatas podem causar problemas. Geralmente, você só precisa ter uma única cópia de qualquer URL específico, uma vez que você não deve passar diretivas adicionais sobre um para o servidor apache2, pois eles podem, em última análise, contra-ordenar um ao outro.

3 minutos lidos