Como Fazer Autenticação Básica no Apache
Aprenda a como fazer a configuração básica de autenticação no Apache Web Server, baseada em arquivo de senhas simples.
Sistema em uso
Para essa configuração eu estou usando um Debian Lenny 5.0.7 com Apache 2.2.9.
Essa configuração é bem básica e poderá certamente ser usada em qualquer versão do Apache e qualquer distribuição Linux, bastando alguns ajustes nas configurações.
Configuração
Acesse o diretório /var/www
Uso o vi ou outro editor de texto de sua preferência para criar um arquivo chamado .htaccess.
#vi .htaccess
Esse arquivo deve conter o seguinte conteúdo
AuthName "Acesso Restrito" AuthType Basic AuthUserFile /etc/apache.pwd require valid-user
A linha 3 AuthUserFile informa o nome do arquivo que o Apache deve usar para consultar os usuários e suas senhas.
Agora vamos criar o arquivo citado na linha 3, para isso vamos usar o comando htpasswd com a opção -c.
a opção -c só precisa ser usada na primeira vez, ela serve para criar o arquivo e adicionar o primeiro usuário.
# htpasswd -c /etc/apache.pwd usuario1 New password: Re-type new password: Adding password for user usuario1
Para criar outros usuários basta omitir a opção -c.
# htpasswd /etc/apache.pwd usuario2 New password: Re-type new password: Adding password for user usuario2
Para remover um usuário usamos a opção -D.
# htpasswd -D /etc/apache.pwd usuario2 Deleting password for user usuario2
Para funcionar corretamente você deve checar a configuração do Apache a opção AllowOverride.
No Debian basta acessar o diretório /etc/apache2/sites-available e editar o arquivo default.
Dentro desse arquivo procure a linha AllowOverride, geralmente ela é configurada dentro de um bloco Directory, veja abaixo.
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride AuthConfig Order allow,deny Allow from all </Directory>
Caso a configuração da linha 3 esteja como none você deve alterar para AuthConfig e reiniciar o Apache.
.htaccess
Vamos a uma breve descrição das opções usadas no nosso arquivo .htaccess.
AuthName: É um pequeno que será exibido para o usuário quando a caixa de dialog for exebida.
AuthType: Esse é o tipo de autenticação em uso, as opções são Basic ou Digest.
AuthUserFile: Como já falado é o arquivo com os usuários e as senhas.
require valid-user: Essa opção define o critério para permitir o acesso, no nosso caso qualquer usuário que tenha uma senha valida terá acesso a página. Podemos no entanto restringir o acesso para apenas alguns usuário, para fazer isso troque “require valid-user” por “require user usuario1 usuario3 usuarion“.
Não acompanho muito o site, porém já visitei algumas vezes, e não pude deixar de perceber que o visual mudou. Parabéns, foi uma escolha inteligente,entretanto tardia, porque o antigo visual era um pouco desanimador, este não, ele é atrativo e convidativo. Mesmo sendo um tema WordPress foi uma escolha certa.
Pedro(Citar)
rsrsrs, obrigado Pedro.
Realmente o antigo visual já estava ultrapassado desde o inicio, rsrsrs.
Fiquei bastante tempo sem atualizar o site, ele ficou “abandonado”.
No final do ano passado comecei um estudo sobre o WordPress e fiquei impressionado com a flexibilidade e facilidade no uso dele, foi ai que decidi trocar todo o site antigo pelo WordPress.
A minha expectativa e adicionar novos artigos com certa frequência e o WordPress é ideal, principalmente pela possibilidade de colaboração.
Abraços,
Rodrigo
Rodrigo Luis Silva(Citar)
Obrigado Rodrigo,
Resolveu meu problema, com uma ótima solução do .htaccess.
Muito bom seu artigo, claro e objetivo.
Abs.
Evandro Figueiredo de Oliveira(Citar)
cara foi super precisa sua explicação.
funcionou perfeito num ubuntu como servidor.
creio que era um pouco diferente no apache1.3
vlw…abraço
Rafael Lucindo(Citar)
Só creio que o allow da linha “allow from all” deve ser com “A” maiusculo.
Rafael Lucindo(Citar)
Rafael, boa noite.
Na documentação do Apache podemos encontrar a seguinte informação
Directives in the configuration files are case-insensitive, but arguments to directives are often case sensitive.
Ou seja, as configurações são Case-Insensitive, tanto faz Allow ou allow, é só estetica, inclusive esse bloco eu copiei da configuração original.
abs,
Rodrigo
Rodrigo Luis Silva(Citar)