Como Configurar a Autenticação Básica no Apache com .htaccess e .htpasswd


Proteger áreas específicas do seu site pode ser crucial para garantir a segurança e o acesso controlado. A autenticação básica HTTP é uma maneira simples e eficaz de proteger diretórios no Apache. Neste post, vamos explorar como configurar a autenticação básica usando os arquivos .htaccess e .htpasswd.

1. Ativar o Módulo mod_auth_basic

Antes de começar, certifique-se de que o módulo mod_auth_basic do Apache está ativado. Este módulo é responsável pela autenticação básica.

Verificar se o módulo está ativado:

apache2ctl -M | grep auth_basic

Ativar o módulo (em sistemas Debian/Ubuntu):

sudo a2enmod auth_basic

Após ativar o módulo, reinicie o Apache:

sudo systemctl restart apache2

2. Criar o Arquivo .htpasswd

O arquivo .htpasswd armazena os nomes de usuário e senhas criptografadas. Use o comando htpasswd para criar este arquivo e adicionar usuários.

Criar o arquivo e adicionar um usuário:

htpasswd -c /etc/apache2/.htpasswd username
  • O -c cria o arquivo; use-o apenas na primeira vez.
  • Substitua username pelo nome de usuário desejado e forneça a senha quando solicitado.

Adicionar mais usuários (sem -c):

htpasswd /etc/apache2/.htpasswd anotheruser

3. Configurar o Arquivo .htaccess

O arquivo .htaccess é colocado na pasta que você deseja proteger e deve conter a configuração para usar a autenticação básica.

Criar ou editar o arquivo .htaccess na pasta a ser protegida:

nano /var/www/html/protected-directory/.htaccess

Adicionar o seguinte conteúdo ao arquivo .htaccess:

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
  • AuthType Basic: Define o tipo de autenticação.
  • AuthName "Restricted Area": O texto exibido na caixa de login.
  • AuthUserFile /etc/apache2/.htpasswd: O caminho para o arquivo de credenciais.
  • Require valid-user: Requer um usuário válido para acesso.

4. Permitir o Uso de .htaccess no Apache

Certifique-se de que a configuração do Apache permite o uso de .htaccess. Edite o arquivo de configuração do site:

Edite o arquivo de configuração do site (por exemplo, /etc/apache2/sites-available/000-default.conf):

Em alguns casos, como no Debian 12, o arquivo de configuração é: /etc/apache2/apache2.conf

sudo nano /etc/apache2/sites-available/000-default.conf

Adicione ou edite a configuração <Directory>:

<Directory /var/www/html/protected-directory>
    AllowOverride All
</Directory>
  • AllowOverride All permite o uso de .htaccess para substituir configurações.

Reinicie o Apache para aplicar as alterações:

sudo systemctl restart apache2

5. Verificar a Configuração

Acesse a pasta protegida no navegador e você deverá ser solicitado a fornecer um nome de usuário e senha. Se as credenciais estiverem corretas, você terá acesso; caso contrário, o acesso será negado.

Seguindo esses passos, você pode proteger áreas específicas do seu site Apache com autenticação básica. Se tiver dúvidas ou encontrar problemas, sinta-se à vontade para perguntar!

Rolar para cima