[Guilherme Cunha] configurar-apache2-para-proteger-diretorios-com-autenticacao-em-arquivo-authuserfile-authname-authtype-require-valid-user-auth_basic-load

Normalmente, costumamos disponibilizar tudo o que achamos interessante para nós ou para outras pessoas em websites. Porém, muitos conteúdos nos preferimos esconder ou seja, não linkar ou publicar o endereço.
Mas a algum tempo, foi inventado algumas ferramentas que “investigam” todos os diretórios disponiveis em um determinado endereço, fazendo com que estes diretórios que nós achavamos que não fossem ser descobertos caissem na rede.
Mas como sempre existe uma alternativa, mostrarei agora como realmente proteger um diretório de forma que para acessá-lo, você deverá inserir usuário e senha !!
Siga o passo a passo:
Vamos partir do principio de que você já possui todos os programas necessários.
Primeiramente você deverá criar uma pasta para organizar os arquivos que vão conter as senhas e após criar o usuário que terá permissão de acesso ao determinado diretório:

mkdir /etc/apache2/autenticados


Após:

htpasswd /etc/apache2/autenticados/diretorio_principal NOMEDOUSUARIO


E em seguida será pedido que você insira a senha para o usuário.
Após este passo, vamos inserir o módulo do Apache2 que é necessário para que funcione a autenticação:

cd /etc/apache2/mods-available/


ln -s auth_basic.load ../mods-enabled/


Feito isto, vamos re-startar o Apache2:

/etc/init.d/apache2 restart


Agora, vamos configurar o arquivo de virtualhosts para determinar o diretório a ser protegido. As seguintes linhas deverão ser adicionadas para que o Apache2 interprete corretamente a sua solicitação:

<Directory /home/guilherme/public_html/Documentos>
  AuthUserFile /etc/apache2/autenticados/diretorio_principal
  AuthName 'Seja bem vindo, digite o seu login e senha para acessar esta pasta.'
  AuthType Basic
  require valid-user
</Directory>


Vamos re-startar novamente o Apache2.

/etc/init.d/apache2 restart


Pronto!! Você já pode “esconder” seus arquivos na web!!

(Mantenha os créditos!)