Apache2 - Instalação e configuração com autenticação
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.
Instalação
Instalação e configuração do Apache2 no Debian.
A instalação é bastante simples, basta você executar o comando:
# apt-get install apache2
Só com esse comando você instala e já pode verificar se ele está rodando digitando no navegador 127.0.0.1 ou o número do ip da máquina em uma máquina da rede local. Se estiver tudo ok ele deve abrir uma página com o seguinte texto:
It works!
A resposta é simples:
Edite o arquivo de configuração default que está na pasta /etc/apache2/sites-available alterando a linha que está com ( ** ).
Essas linhas de configuração se referem a pasta "www", que por padrão é onde o Apache2 vai procurar o conteúdo do site, e essa linha em com ( ** ) faz o redirecionamento para uma outra pasta que nesse caso a pasta é apache2-default. Como se vê, preferi descomentar essa linha, pois prefiro que meu site fique direto na "www". Agora é só reiniciar o serviço com "/etc/init.d/apache2 restart", pôr um index.html no diretório "www" que seu site já esta no ar com a sua cara.
A instalação é bastante simples, basta você executar o comando:
# apt-get install apache2
Só com esse comando você instala e já pode verificar se ele está rodando digitando no navegador 127.0.0.1 ou o número do ip da máquina em uma máquina da rede local. Se estiver tudo ok ele deve abrir uma página com o seguinte texto:
It works!
Colocando no ar
Agora você está se perguntando, como vou por meu site no ar???A resposta é simples:
Edite o arquivo de configuração default que está na pasta /etc/apache2/sites-available alterando a linha que está com ( ** ).
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
** # RedirectMatch ^/$ /apache2-default/
</Directory>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
** # RedirectMatch ^/$ /apache2-default/
</Directory>
Essas linhas de configuração se referem a pasta "www", que por padrão é onde o Apache2 vai procurar o conteúdo do site, e essa linha em com ( ** ) faz o redirecionamento para uma outra pasta que nesse caso a pasta é apache2-default. Como se vê, preferi descomentar essa linha, pois prefiro que meu site fique direto na "www". Agora é só reiniciar o serviço com "/etc/init.d/apache2 restart", pôr um index.html no diretório "www" que seu site já esta no ar com a sua cara.
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.