Pular para o conteúdo

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.
João Siqueira freehand
Hits: 46.427 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 2: 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

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
# 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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Configurando
   3. Criando o arquivo de senhas e os usuários
   4. Considerações finais

Configurando o Samba no Red Hat

Apache Mod_Proxy como Front-End de acesso e balanceamento de diversas aplicações web

Configurando um servidor de backup Bacula

Configurando o Gslapt no Slackware Current

Configurando o D-Link DSL-210 no Debian Etch

Controle de banda no Apache 1.3.X com mod_bandwidth (Slackware)

#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

Entre na sua conta para comentar.