Neste tutorial eu e meu amigo Cristiano Bergler tentamos mostrar da forma mais simples como instalar e configurar um servidor Apache, inclusive com autenticação de diretórios. Aproveitem, estamos abertos a criticas e sugestões. Foi testado no Debian e no FreeBSD.
Agora vamos à criação de configurações personalizadas para cada diretório, nesse exemplo eu usei o diretório Squid, que é onde eu mandei que o Sarg colocasse os arquivos de relatórios de acesso, onde só eu terei acesso.
Dentro do diretório www:
1. Crie o diretório:
# mkdir squid
2. Entre no diretório e crie os arquivos de restrição:
# cd squid
# touch .htaccess pass.txt
Obs: Todo arquivo que vem com um ponto antes é um arquivo oculto, então você só vai localizar com "ls -a".
3. Agora vamos editar o .htaccess. Copie e cole essas linhas:
AuthUserFile /var/www/squid/pass.txt #arquivo que armazena usuário senha
AuthGroupFile /dev/null
AuthName "Digite sua senha" # mensagem que vai aparecer na tela de login
AuthType Basic
require valid-user
4. Adicionando usuários:
# htpasswd -c pass.txt nome_do_usuário
O sistema ira retornar com algumas perguntas:
New password: você deve colocar a senha
Re-type new password: você deve confirmar sua senha
Adding password for user
Se por curiosidade quiser ver se gravou o usuário, abra no nano o arquivo pass.txt, mas cuidado, não edite o mesmo.
Agora vamos adicionar linhas no arquivo de configuração do Apache2, que é o apache2.conf, que está no diretório /etc/apache2/ para que ele saiba de qual diretório cobrar autenticação.
<Directory "/var/www/squid"> #caminho do diretório
AllowOverride All Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority pt-br
ForceLanguagePriority Prefer Fallback
</Directory>
Obs: A linha em negrito deve ser descomentada se dentro da pasta não tiver um arquivo index.html.
[1] Comentário enviado por luiscarlos em 28/09/2007 - 23:04h
Ola meu amigo, parabens pelo artigo....eu uso autenticação mas estou com o seguinte problema, preciso fazer autenticação baseado em usuario e senha mas onde a senha vem de um conjunto aleatorio de senhas ja cadastradas num arquivo, ou seja, varias senhas para um mesmo usuario.
Pense na situação, eu tenho um arquivo com códigos de segurança que é nada mais que uma tabela com 70 posições e alguns valores em cada posição onde quando o usuario logar no site será solicitado a ele o nome de usuario e o codigo de segurança aleatorio, numero 21, por exemplo, esses codigos de segurança será solicitados de forma aleatorio, pensei em fazer essa autenticação com php e depois direcionar para o site de destino, o problema é como bloquear o site caso o usuario tente acessar ele de forma direta, sem passar pela autenticação, isso porque nao tenho como saber pelo iptables se a autenticação foi executada com sucesso ou nao, ou ainda pelo proxy que o apache faz ele verificar se a autenticação foi executada ou nao.
[2] Comentário enviado por rfreitasa em 29/09/2007 - 11:24h
Parabens amigo ,
Uma pergunta: como eu faço para liberar acesso sem senha para usuarios internos e bloquear para os demais.
Exemplo pratico: Quero que minha intranet seja acessada sem senha pelos funcionarios da empresa porem quero que quem esteja fora da empresa digite uma senha.
abc,
[3] Comentário enviado por luiscarlos em 29/09/2007 - 11:42h
<Directory /var/www>
Options Indexes
Order mutual-failure
allow from .dominiolocal.com.br
deny from lammer.dominiolocal.com.br
AuthName "Acesso ao diretório do servidor Web"
AuthType basic
AuthUserFile /var/cache/apache/senhas
AuthGroupFile /var/cache/apache/grupos
Require group admins
Satisfy any
</Directory>
Infelizmente não é possível, nem com a porta 80 nem com a 8080 consigo receber resposta lá do mundo externo. Aqui dentro da minha rede eu consigo. Portanto, não é tão simples assim.
Tenho um roteador Coyote, já redirecionei a porta 80 dele para a máquina onde está o apache, porém não funcionou ainda.
Será que meu provedor (Net/Virtua) está segurando a porta 80 lá com eles? Como é que eu resolvo a situação caso seja isso? Obrigado!
[8] Comentário enviado por bilogato em 17/01/2008 - 21:23h
Olá meu amigo, segui seu tutor a risca ( eu acho) e no final da esta mensagem. Ja deu permissão para o usuario suporte e da a mesma mensagem. Se vc poder me dar alguma dica, ficarei agradecido.
Uso o Debian ETCH
Mensagem:
"Forbidden
You don't have permission to access /teste/ on this server."
[10] Comentário enviado por renatopro em 04/05/2008 - 12:13h
olá meus amigos sou novo na comunidade
na tentativa de montar um servidor web instalei o sistema
operacional linux , instalei o apache e coloquei uma página index na
pasta www do apache, dei um browser com o meu numero de ip http://201.91.68.118/ e para mim aparece no ar já outros computadores
conectados na web demora para logar e aparece as seguintes mensagens:
(110) Connection timed out
O host remoto (servidor) ou a rede pode estar indisponível. Por favor
tente novamente
Generated Sat, 03 May 2008 11:51:30 GMT by bbone-gateway.w1.com.br
(squid)
se coloco meu ip da internet que é estatico aparece:
[11] Comentário enviado por Marcelo_Reis em 05/06/2008 - 21:14h
Olá amigos!
Antes de mais nada, parabéns ao Birarn pelo exelente artigo.
Minha duvida é a seguinte, estou criando uma intranet em um servidor Debian (Etch) usando o Apache2, gostaria de saber se é possivel que as maquinas ao invez de procurar o servidor pelo IP, eu possa usar algo como http://intranet
valew
[13] Comentário enviado por FSnet4S em 09/04/2013 - 07:52h
Ola Birarn, eu instalei o apache2 no meu Ubuntu 12.10, mas acontece que quando abro o meu site no loval, ele abre bem, mas nao abre as imagens. O que pode possa fazer para resolver isso?