Autenticando e protegendo diretórios no Apache

Nesse artigo descrevo como configurar o Apache para restringir acesso por senha a determinado diretório. Sendo assim, quando o usuário tentar acessá-lo via web, um pedido de autenticação será enviado.

[ Hits: 44.433 ]

Por: João Siqueira em 19/10/2005


Configurando



O primeiro passo que temos à fazer é editar o arquivo httpd.conf e certificar que os módulos de autenticação estão configurados. No Slackware isso já vem configurado por default, em outras distribuições já não posso confirmar, veja abaixo os módulos.

Verifique as seguintes linhas nas seções LoadModule e AddModule:

LoadModule auth_module libexec/apache/mod_auth.so
AddModule mod_auth.c

Feito a verificação, vamos agora criar o arquivo de autenticação que terá o nome de authuser.conf. Neste artigo estamos supondo que a página esteja hospedada no diretório /var/www/htdocs/ e o diretório que será protegido será o /var/www/htdocs/documentos/. Vamos ao arquivo:

# vim /etc/apache/authuser.conf

# Diretório Restrito

Options Indexes FollowSymLinks Includes
AllowOverride AuthConfig

# Autenticação de Usuário
AuthName "O Acesso a este Diretório é altamente Restrito"
AuthType Basic
AuthUserFile /etc/apache/passwd
require valid-user

Order allow,deny
Allow from all

Podemos ver acima, conforme o arquivo de configuração, que o arquivo de senhas ficará no diretório /etc/apache/passwd.

Feito isso, agora vamos editar o httpd.conf e escrever uma linha para chamar o arquivo authuser.conf toda vez que o Apache for iniciado ou reiniciado:

# vim /etc/apache/httpd.conf

Adicione na última linha do arquivo o seguinte conteúdo:

# Autenticação de Diretórios do Apache.
Include /etc/apache/authuser.conf

Agora o processo já está quase pronto. Vamos então parar o serviço do Apache e iniciá-lo novamente para nos certificar que não há nenhum erro:

# /etc/rc.d/rc.httpd stop
# /etc/rc.d/rc.httpd start


Feito isso, vamos testar para saber se já está autenticando. Acesse:

http://www.meudominio.com/documentos/

Pronto, agora supomos que o Apache já esteja solicitando a autenticação, então o nosso próximo passo será criar o arquivo de usuários e senhas para autenticar.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando
   3. Criando o arquivo de senhas e os usuários
   4. Considerações finais
Outros artigos deste autor

Configurando o Samba no Red Hat

Leitura recomendada

Upgrade Debian 4.0 (etch) para 5.0 (lenny) - 9 passos para um upgrade feliz

OpenVPN + Bridge no Ubuntu Server

Configuração inicial no FreeBSD 8.0-Release

Agendando tarefas em Linux/Unix usando o cron

Conexões SSH sem senha fácil e descomplicado

  
Comentários
[1] Comentário enviado por juniorcoop em 05/05/2006 - 10:14h

amigo.. instalei o apache.. esta rodando tudo legal.. como eu coloco senha para ver os logs digito http://192.168.5.254/squid-reports e ja me traz os logs.. quero colocar senha

[2] Comentário enviado por maciel.silva em 13/09/2006 - 23:24h

Vai aparecer a mensagem: "AllowOverride here". É preciso completar o arquivo authuser.conf indicato nele seu diretório que vai ficar protegido.

Ficando assim o authuser.conf:

# Diretório Restrito
<directory "seu diretorio">
Options Indexes FollowSymLinks Includes
AllowOverride AuthConfig

# Autenticação de Usuário
AuthName "O Acesso a este Diretório é altamente Restrito"
AuthType Basic
AuthUserFile /etc/apache/passwd
require valid-user

Order allow,deny
Allow from all
</directory>

Valeu espero ter ajudado.

[3] Comentário enviado por m4gnu5 em 20/10/2008 - 22:20h

Gostei do topico, Pois estava na duvida de como criar novo usuario, pois toda vez que dava o comando htpasswd -c /etc/apache/passwd nome_do_usuario, ele automaticamente substitua o antigo!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts