By Marcos Oliveira,

Configurando o Apache

O servidor Apache (ou Servidor HTTP Apache, em inglês: Apache HTTP Server, ou simplesmente: Apache) é o mais bem sucedido servidor web livre.

O servidor é configurado por um arquivo mestre nomeado httpd.conf e opcionalmente pode haver configurações para cada diretório utilizando arquivos com o nome .htaccess, onde é possível utilizar autenticação de usuário pelo próprio protocolo HTTP utilizando uma combinação de arquivo .htaccess com um arquivo .htpasswd, que guardará os usuários e senhas (criptografadas).

Autenticação no Apache2

Vou explicar aqui como você disponibilizar o acesso a uma pasta do Apache(www) exigindo usuario e senha.

  • Primeiramente devemos criar o diretório onde desejamos restringir o acesso caso o mesmo não exista.
mkdir /var/www/teste 
  • Criaremos agora um arquivo somente para testes com o nome “index.html” no diretório “/var/www/teste”.
echo Testando autenticação no Apache > /var/www/teste/index.html 
  • Criar os arquivos .htaccess e passwd no diretório onde se deseja restringir o acesso.
touch passwd .htaccess
  • Conteúdo do arquivo .htaccess
AuthName "Nome que aparecerá no título da janela"
AuthType Basic
AuthUserFile /var/www/teste/passwd
require valid-user 
  • Criação dos usuários que terão permissão para acessar o diretório
htpasswd -c passwd usuário

Será pedida a senha do novo usuário e em seguida sua confirmação.

New password
Re-type new password
Adding password for user usuário

Ao abrir o arquivo de senhas (passwd), serão vistos os nomes de usuário e senhas criptografadas.

more passwd
usuário:ZzbJ.YtR6TyyU
  • Edite o arquivo
"/etc/apache2/sites-available/default"

Colocando as seguintes linhas no final do arquivo antes da tag, substituindo todas as diretivas conforme suas necessidades, uma observação importante é para a tag

AllowOverride, a mesma deve conter “AuthConfig” para que a autenticação seja bem sucedida.

Alias /teste/ "/var/www/teste/"
Options Indexes MultiViews FollowSymLinks
AllowOverride AuthConfig
Order deny,allow
Deny from all
Allow from 172.16.0.0/255.0.0.0 ::1/128
  • Reinicie o serviço do Apache para atualizar as configurações.
/etc/init.d/apache2 restart
  • Teste agora suas configurações acessando http://localhost/teste, fornecendo o nome de usuário senha.

Observações: as linhas abaixo se referem à restrição por IP, não são necessárias à autenticação.

Deny from all Allow from 172.16.0.0/255.0.0.0 ::1/128

E todo esse tramite desse ser feito pelo usuário root para funcionar.

Habilitar o mod_rewite no Apache (.htacces)

Pra quem vai trabalhar com MVC no PHP (por exemplo) precisa habilitar o mod_rewrite no Apache pra que funcione, segue os passos pra fazer isso

1-Logue como root:

su

2-Abra o arquivo default do Apache:

vi /etc/apache2/sites-available/default

3-Edite o arquivo da seguinte forma

Substitua por “AllowOverride AuthConfig” e altere a linha “AllowOverride None” dentro de substituindo por “AllowOverride All”.

4- Não esqueça de habilitar o mod_rewrite

a2enmod rewrite

5-Reinicie o apache

/etc/init.d/apache2 restart

Agora vamos testar

6-Crie um arquivo .htacces dentro do diretório /var/www/

vi /var/www/.htaccess

7-Escreva isso dentro do Arquivo, salve e feche-o

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?chave=$1 

8-Agora crie um arquivo index.php e cole o conteúdo logo abaixo

vi /var/www/index.php

9-Acesse o endereço http://localhost/nomequalquer/outronome/

Se imprimir na tela: nomequalquer/outronome/ (ou o nome que você escolheu), está tudo certo.Você já pode escrever seu Framework!



Sobre o Autor

Marcos Oliveira

A alegria está na luta, na tentativa, no sofrimento envolvido e não na vitória propriamente dita. A força não provém da capacidade física. Provém de uma vontade indomável.
Mahatma Gandhi


Dê você também uma Contribuição
Compartilhe nas suas Redes Sociais!




Inscreva-se no Nosso Canal do Youtube



Curso Extremamente Avançado em Shell Script Bash

Você irá descobrir técnicas avançadas de escrever em Shell Script. Como criar instaladores para distribuições Linux, Animações, Documentações, além de tudo sobre Processos em sistemas tipo UNIX, detalhes sobre Comandos Avançados e Muito Mais !




Crie Sua Própria Promoção

Customize seus Pacotes de Treinamentos obtendo descontos muito em conta!