Criar autenticação Local Apache



Criar um arquivo htpasswd

Esse é um arquivo simples que armazena os usernames e senhas (criptografadas) dos usuários para quem você quer garantir acesso.
$ htpasswd -c /var/www/vhosts/site.tld/passwd/htaccess.passwd mattias
O código acima vai criar um novo arquivo nesse local e configurar um usuário chamado “mattias”; você será solicitado a colocar a senha (duas vezes).
O parâmetro -c cria um novo arquivo; se você quiser adicionar usuários a um arquivo passwd que já exista, utilize isto:
$ htpasswd /var/www/vhosts/site.tld/passwd/htaccess.passwd jasper
No fim, o arquivo fica parecido com isto:
$ cat /var/www/vhosts/site.tld/passwd/htaccess.passwd
mattias:$apr1$656eUsUz$305AHL.2PAC.U2UTBdlql0
Isso é uma senha criptografada; para redefini-la, execute os comandos acima novamente para o mesmo username, e ele vai sobrescrever a senha.
Se você quiser utilizar o arquivo de senhas acima (porque é rápido copiar e colar): a senha criptografada é “nucleus”,  para que você possa acessar com o usuário mattias e a senha nucleus.

Autenticação HTTP no .htaccess

Agora, depois que você tiver o arquivo, adicione o seguinte item a seu .htaccess. Esse fragmento de código vai funcionar para o Apache 2.2 e 2.4. Certifique-se de mudar o caminho para o local de seu arquivo htpasswd.
$ cat .htaccess
<IfModule mod_authn_file.c>
  # For Apache 2.4 or later
  AuthType Basic
  AuthName "Please provide username and password"
  AuthBasicProvider file
  AuthUserFile "/var/www/vhosts/site.tld/passwd/htaccess.passwd"
  Require valid-user
</IfModule>

<IfModule mod_auth.c>
  # For Apache 2.2 or lower
  AuthType Basic
  AuthName "Please provide username and password"
  AuthUserFile "/var/www/vhosts/site.tld/passwd/htaccess.passwd"
  Require valid-user
</IfModule>
Da próxima vez que você visitar seu site, você provavelmente será solicitado a inserir um usuário e senha HTTP.

Comentários