Curso Certificação Linux LPI-102: Configurando o Apache




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!




Terminal Root - Super Usuário da Tela Preta!    Curso de Shell Script    Curso de Vim    Tutorial Git