Resolvido: você não tem permissão para acessar este servidor

Muitas configurações de servidor da web enfrentam problemas relacionados às permissões de arquivo. Freqüentemente, torna o servidor inacessível aos visitantes e se manifesta na forma de um erro 403. Normalmente, a mensagem de erro é algo como "Proibido: você não tem permissão para acessar / neste servidor". Este erro também pode restringir o acesso a outras rotas no servidor, como / diretório .

Problemas semelhantes também podem ocorrer devido a problemas no arquivo de configuração do Apache ou até mesmo por causa de um arquivo .htaccess corrompido. Este guia fornece soluções passo a passo para todos esses problemas. Experimente um de cada vez, começando pela primeira solução.

O que causa esse erro do Apache 403?

Este é um erro 403 bastante comum no final do Apache, causado por uma miríade de problemas. No entanto, na maioria dos casos, esse erro ocorre devido à falta de permissões adequadas necessárias para acessar um site publicamente. Além disso, os sites WordPress geralmente enfrentam esse problema devido a um arquivo .htaccess inválido .

Além disso, desde a versão 2.4 do Apache, houve algumas mudanças em como as diretivas funcionam. Isso também pode restringir o acesso público ao seu site e resultar em um erro 403 proibido.

1. Corrija as permissões de arquivo para evitar o erro

A maioria das pessoas enfrenta esse erro 403 comum devido à falta de permissões adequadas. Se o administrador do site se esquecer de habilitar o acesso de leitura para o mundo externo, os usuários finais não poderão acessar o recurso solicitado. Geralmente, essa é a causa raiz desse erro.

Se, em vez disso, você for um administrador de site, precisará garantir que os arquivos destinados ao acesso público tenham as permissões de leitura adequadas. Caso contrário, se você estiver enfrentando esse erro em um site público, informe o administrador do site para resolver o problema.

Definir as permissões corretas para arquivos publicamente acessíveis pode ser um pouco complicado. É por isso que os administradores devem começar com absolutamente zero permissões e adicioná-los conforme necessário. É uma boa ideia ter pastas com modo de permissão 755 e arquivos com 644 .

Para um site simples, os diretórios precisam ter permissão de execução e os arquivos devem ter permissão de leitura . Certifique-se de não dar permissão de execução em arquivos. Usuários mal-intencionados podem obter acesso indesejado a servidores públicos por meio desses arquivos. O modo de permissão para acesso de Leitura , Gravação e Execução é 4, 2 e 1, respectivamente.

Portanto, um modo de permissão de 755 em diretórios significa que apenas o proprietário tem acesso total ao conteúdo do diretório. Os usuários do grupo e outros podem apenas ler e executar. Da mesma forma, o modo de permissão 644 para arquivos fornece acesso de leitura e gravação ao proprietário e apenas acesso de leitura a todos os outros.

Para resolver esse erro, corrija as permissões do diretório webroot. O comando a seguir usa o utilitário chmod para definir as permissões do diretório para 755.

 sudo find /var/www/html -type d -exec chmod 755 {} ;

Este comando assume que você está usando a raiz do documento padrão do Apache para manter o seu site. Se você estiver usando um diretório diferente, substitua o nome do diretório de acordo. Use o comando abaixo para alterar todas as permissões de arquivo para 644.

 sudo find /var/www/html -type f -exec chmod 644 {} ;

O comando acima usa o utilitário find para localizar arquivos individuais e define a permissão correta via chmod. O final {} contém os caminhos de arquivo retornados pelo comando find , e o ponto- e- vírgula ( ; ) marca o final da iteração. Finalmente, reinicie o servidor Apache para que suas alterações tenham efeito.

 sudo systemctl restart apache2.service

Este comando reinicia o servidor Apache no Ubuntu. No entanto, muitas distros baseadas em RPM, como RHEL ou CentOS, instalam o Apache como httpd . Para esses sistemas, use o seguinte comando:

 sudo systemctl restart httpd

2. Corrija o arquivo .htaccess para o seu site WordPress

O arquivo .htaccess serve como um arquivo de configuração distribuído e diz ao Apache como lidar com coisas como mudanças de configuração por diretório. Às vezes, esse arquivo pode ser corrompido e resultar no erro "você não tem permissão para acessar neste servidor".

Felizmente, se é isso que está causando o erro 403 em seu servidor, você pode corrigir isso facilmente criando um novo arquivo .htaccess. Para criar um novo arquivo .htaccess para o seu site, primeiro, faça login no painel do WordPress. Em seguida, clique em Configurações> Links permanentes .

Você não precisa fazer nenhuma alteração adicional aqui. Basta clicar no botão Salvar alterações e o WordPress irá gerar um novo arquivo .htaccess para você.

Portanto, sempre que você enfrentar o problema acima, tente criar um novo arquivo .htaccess. O método .htaccess geralmente funciona bem para sites WordPress.

3. Configure as diretivas no arquivo de configuração do Apache

O Apache 2.4 usa um novo módulo de configuração chamado mod_authz_host . Este módulo expõe várias novas diretivas. Resumindo, isso implementa as seguintes regras:

  • Exigir todos concedidos : Permitir todos os pedidos
  • Require all denied : Negar todas as solicitações
  • Exigir host safe.com : permitir apenas solicitações de safe.com

Se você estiver usando o Apache 2.4, certifique-se de que seu arquivo de configuração principal contém o seguinte bloco de código. Você pode verificar o conteúdo deste arquivo usando um editor de texto simples como o Vim. Adicione este bloco no arquivo de configuração se eles estiverem faltando. Então, você pode salvar e sair do Vim .

 vim /etc/apache2/apache2.conf
 <Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Além disso, se você estiver executando um servidor web baseado em RHEL, você precisa facilitar o acesso à seção / var / www em seu arquivo de configuração do Apache. Portanto, certifique-se de que o arquivo /etc/httpd/conf/httpd.conf contenha o seguinte bloco de código.

 vim /etc/httpd/conf/httpd.conf
 <Directory "/var/www">
AllowOverride None
Require all granted
</Directory>

Finalmente, reinicie o servidor Apache usando um dos seguintes comandos.

 # for Ubuntu and Debian
sudo systemctl restart apache2.service
 # for RHEL and CentOS
sudo systemctl restart httpd

Corrigir o erro de permissão do servidor Apache

Muitas pessoas enfrentam o problema acima ao acessar sites públicos ou configurar seus próprios sites. Este guia abordou várias soluções para esse problema. Redefinir a permissão do sistema de arquivos para o Apache deve ser o primeiro recurso. Se o erro persistir mesmo depois de alterar as permissões, tente criar um novo arquivo .htaccess e certifique-se de que as diretivas estejam definidas corretamente em seu arquivo de configuração do Apache.

Existem muitos outros problemas que podem resultar em um erro do lado do servidor semelhante a este. Você precisa ser proficiente na solução de problemas do servidor Linux para colocá-lo em funcionamento em tais situações.