Muitas configurações de servidor web enfrentam problemas relacionados a permissões de arquivo. Muitas vezes, 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”. Pode ser qualquer coisa na forma de Proibido: você não tem permissão para acessar este recurso.
Problemas semelhantes também podem ocorrer devido a problemas no arquivo de configuração do Apache ou até mesmo devido a um arquivo corrompido .htaccess Arquivo. Este guia fornece soluções passo a passo para todos esses problemas. Experimente-os um de cada vez, começando pela primeira solução.
O que causa este erro do Apache 403?
Este é um erro 403 bastante comum no Apache causado por uma infinidade 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 mau .htaccess Arquivo.
Além disso, desde a versão 2.4 do Apache, houve algumas mudanças na forma 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 esquecer de habilitar o acesso de leitura ao mundo exterior, os usuários finais não poderão acessar o recurso solicitado. Geralmente, essa é a causa raiz desse erro.
Por exemplo, digamos que você esteja tentando acessar um arquivo chamado livro.php em um site WordPress e encontre um erro dizendo que você não tem permissão para acessar /textbook.php neste servidor. Isso implica que o arquivo está lá, mas o proprietário do site desativou o acesso aos usuários públicos.
Se você for um administrador de site, precisará certificar-se de que os arquivos destinados ao acesso público tenham 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 esse problema.
Definir as permissões corretas para arquivos acessíveis publicamente pode ser um pouco complicado. É por isso que os administradores devem começar com permissões absolutamente zero e adicioná-las conforme necessário. É uma boa ideia ter pastas com modo de permissão de 755 e arquivos com 644.
Para um site simples, os diretórios precisam ter executar permissão, e os arquivos devem ter ler permissão. Certifique-se de não dar permissão de execução nos arquivos. Usuários mal-intencionados podem obter acesso indesejado a servidores públicos por meio desses arquivos
O modo de permissão para Ler, Escreva e Executar acesso é 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 somente acesso de leitura a todos os outros.
Para resolver erros como proibido: você não tem permissão para acessar este recurso em nenhum servidor, corrija suas permissões de diretório webroot. O comando abaixo 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 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 fim {} \ contém os caminhos de arquivo retornados pelo comando find e o ponto e vírgula (;) marca o fim da iteração.
Além disso, você também pode alterar as permissões de arquivo individualmente. Por exemplo, o comando a seguir irá alterar a permissão do livro.php na raiz da web e torná-lo acessível publicamente. Então, da próxima vez que alguém tentar acessar este arquivo, não verá o temido erro “você não tem permissão para acessar este recurso”.
sudo chmod 644 /var/www/html/textbook.php
Depois de alterar todas as permissões de arquivo conforme necessário, 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 distribuições 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 seu site WordPress
o .htaccess file serve como um arquivo de configuração distribuído e informa ao Apache como lidar com coisas como alterações 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 seu painel do WordPress. Em seguida, clique em Configurações > Links permanentes.
Você não precisa fazer nenhuma alteração adicional aqui. Basta clicar no Salvar alterações botão e WordPress irá gerar um novo arquivo .htaccess para você.
Então, sempre que você vir “você não tem permissão para acessar este recurso” nos servidores Apache, tente criar um novo arquivo .htaccess. Esse método geralmente funciona bem para sites WordPress.
3. Configure as diretivas no arquivo de configuração do Apache
O Apache 2.4 faz uso de um novo módulo de configuração chamado mod_authz_host. Este módulo expõe várias novas diretivas. Em suma, isso implementa as seguintes regras:
- Exigir todos os concedidos: permitir todas as solicitações
- Exigir tudo negado: 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 contenha o seguinte bloco de código. Você pode conferir 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 ausentes. Então, você pode salvar e sair do Vim.
vim /etc/apache2/apache2.conf
Código:
<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, precisará facilitar o acesso ao /var/www seção em seu arquivo de configuração do Apache. Então certifique-se de /etc/httpd/conf/httpd.conf arquivo contém o seguinte bloco de código.
vim /etc/httpd/conf/httpd.conf
Código:
<Directory "/var/www">
AllowOverride None
Require all granted
</Directory>
Por fim, reinicie o servidor Apache usando um dos seguintes comandos:
sudo systemctl restart apache2.service
sudo systemctl restart httpd
Corrigir o erro de permissão do servidor Apache no Linux
Muitas pessoas enfrentam o problema acima ao acessar sites públicos ou configurar seus próprios sites. Este guia cobriu várias correçõ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 após alterar as permissões, tente criar um novo .htaccess e certifique-se de que as diretivas estejam configuradas corretamente em seu arquivo de configuração do Apache.
Há 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 colocar seu servidor em funcionamento em tais situações.