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
Postar um comentário