Iniciante Fundamentos

Autenticação básica

A autenticação básica pede usuário e senha antes de liberar o acesso a uma pasta. O Apache usa um arquivo de senhas criado com a ferramenta htpasswd.

Criar o arquivo de senhas

O -c cria o arquivo (use só na primeira vez):

sudo htpasswd -c /etc/apache2/.htpasswd admin

Para adicionar outro usuário sem apagar o arquivo, omita o -c:

sudo htpasswd /etc/apache2/.htpasswd joao

Proteger a pasta

<Directory /var/www/exemplo/admin>
    AuthType Basic
    AuthName "Area restrita"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
</Directory>
  • AuthType Basic: tipo de autenticação.
  • AuthName: texto mostrado na janela de login.
  • AuthUserFile: caminho do arquivo de senhas.
  • Require valid-user: aceita qualquer usuário válido do arquivo.

Permitir só um usuário

Require user admin

Aplicar e testar

sudo systemctl reload apache2
curl -u admin http://localhost/admin/

Use a autenticação básica sempre junto com HTTPS, pois a senha trafega codificada mas não criptografada.