Usando HTTP autenticado no Apache
Este tutorial requer que já se tenha em mãos um webserver Apache configurado e funcionando. Você já teve momentos em que desejou que algum usuário não autorizado deixasse de fuçar determinada pasta em seu servidor web? Eis aqui a solução para seus problemas!
Parte 4: Mão na massa com arquivo de configuração do Apache
1. Abra o arquivo (em um editor de texto) de configuração do SITE que você usará, no meu caso seria:
# vim /etc/apache2/sites-enabled/000-default
2. Agora adicione um contêiner com uma diretiva Directory desta forma (sem adicionar os números das linhas):
Explicando:
Linha 1: Nesta linha abro o contêiner da diretiva Directory e aponto o diretório /var/www/admin (o qual quero modificar permissões de acesso).
Linha 2: Nesta linha nego privilégio a todo mundo para liberar nas linhas debaixo, porém nas linhas debaixo libero com as restrições de acesso igualmente as restrições que usei quando utilizei o arquivo .htaccess (lembrando que se eu adicionar as restrições no arquivo de configuração do site não preciso criar o arquivo .htaccess no diretório, por favor não confunda :D).
Linhas 3, 4, 5, 6, 7: Já explicadas quando falei sobre o arquivo .htaccess.
Linha 8: Fecho o contêiner da diretiva Directory.
3. Agora salvo e saio do arquivo, daí o Apache tem um comando bem interessante que faz carregar o arquivo do site, que é a2ensite (Apache 2 enable site), use-o desta forma:
# a2ensite
Daí aparecerão os arquivos de site disponíveis a ser(em) carregado(s), você digita um dos nomes que aparece e tecla enter, ele carregará o arquivo.
4. Aí para terminar digite:
# /etc/init.d/apache2 reload
Com isso você fará com que o daemon do Apache releia as configurações do arquivo de configuração do site que você acaba de modificar ou se quiser ter mais certeza reinicie o daemon usando:
# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start
ou:
# /etc/init.d/apache2 restart
5. Agora a autenticação já deve estar funcionando corretamente, mas agora baseada em arquivo de configuração do Apache e não mais no .htaccess, faça os testes como no item 6 da explicação do .htaccess.
# vim /etc/apache2/sites-enabled/000-default
2. Agora adicione um contêiner com uma diretiva Directory desta forma (sem adicionar os números das linhas):
1 <Directory /var/www/admin>
2 Deny from all
3 AuthType Basic
4 AuthName "Digite usuário e senha"
5 AuthUserFile /etc/apache2/.htpasswd
6 Require valid-user
7 Satisfy Any
8 </Directory>
2 Deny from all
3 AuthType Basic
4 AuthName "Digite usuário e senha"
5 AuthUserFile /etc/apache2/.htpasswd
6 Require valid-user
7 Satisfy Any
8 </Directory>
Explicando:
Linha 1: Nesta linha abro o contêiner da diretiva Directory e aponto o diretório /var/www/admin (o qual quero modificar permissões de acesso).
Linha 2: Nesta linha nego privilégio a todo mundo para liberar nas linhas debaixo, porém nas linhas debaixo libero com as restrições de acesso igualmente as restrições que usei quando utilizei o arquivo .htaccess (lembrando que se eu adicionar as restrições no arquivo de configuração do site não preciso criar o arquivo .htaccess no diretório, por favor não confunda :D).
Linhas 3, 4, 5, 6, 7: Já explicadas quando falei sobre o arquivo .htaccess.
Linha 8: Fecho o contêiner da diretiva Directory.
3. Agora salvo e saio do arquivo, daí o Apache tem um comando bem interessante que faz carregar o arquivo do site, que é a2ensite (Apache 2 enable site), use-o desta forma:
# a2ensite
Daí aparecerão os arquivos de site disponíveis a ser(em) carregado(s), você digita um dos nomes que aparece e tecla enter, ele carregará o arquivo.
4. Aí para terminar digite:
# /etc/init.d/apache2 reload
Com isso você fará com que o daemon do Apache releia as configurações do arquivo de configuração do site que você acaba de modificar ou se quiser ter mais certeza reinicie o daemon usando:
# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start
ou:
# /etc/init.d/apache2 restart
5. Agora a autenticação já deve estar funcionando corretamente, mas agora baseada em arquivo de configuração do Apache e não mais no .htaccess, faça os testes como no item 6 da explicação do .htaccess.
Ou seja você refez cada passo enquanto escrevia o artigo. É assim que gostamos de ver artigos com pé e cabeça, e não aqueles que parecem papo de bar.
Abraços