Hotspot rápido com Coovachilli
Este é meu segundo artigo, talvez esteja mais para dica, mas quero deixar aqui uma situação inusitada que aconteceu comigo quando eu precisei montar um sistema autenticado para um cliente aqui, passei dias estudando até chegar neste ponto. É simples e bem personalizável.
Topologia do projeto
Este tutorial foi adaptado por mim, inicialmente retirado de:
Então os créditos são para cem.beyaz, criador primário dos passos. Mas vamos lá, sempre é um mistério o "como é que faz", vou ser objetivo e sugiro as seguintes leituras antes de prosseguir com o artigo:

Versões usadas neste artigo:
A seguir adicione seus repositórios e:
# apt-get update && apt-get upgrade
Logo depois:
# apt-get install apache2 apache2-doc apache2-utils ssl-cert libapache2-mod-php5 php5 php5-common php5-mysql mysql-server mysql-client libmysqlclient15-dev freeradius freeradius-mysql phpmyadmin
Em seguida altere o seguinte arquivo /etc/apache2/mods-available/dir.conf para:
Execute o seguinte comando para ativar os módulos do Apache:
# a2enmod ssl && a2enmod rewrite && a2enmod suexec && a2enmod include && a2enmod php5
Crie um link simbólico desta forma para podermos testar o suporte à https:
# ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl
Vamos criar um certificado a nível de testes:
# mkdir /etc/apache2/ssl/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem -days 365
Alteramos o arquivo /etc/apache2/sites-available/default-ssl para remover as linhas comentadas (sugiro, que para quem esta iniciando, ler as linhas comentadas para saber o porque elas estão lá):
# cp /etc/apache2/sites-available/default-ssl /srv/
# cat /srv/default-ssl | grep -v '#' > /etc/apache2/sites-available/default-ssl
Altere o arquivo /etc/apache2/sites-available/default-ssl e mude a linha:
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
Para:
E remova a linha "SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key".
Reinicie o Apache:
# /etc/init.d/apache2 restart
Vamos testar, vá até um navegador e digite:
Se nas duas tentativas deu tudo certo, vai aparecer uma mensagem "It works!", lembrando que no acesso seguro confirmar exceção!
Obs.: Muito importante, se até aqui a mensagem não apareceu, sugiro revisar o artigo!
Seguindo, verifique se o mysql esta rodando:
# netstat -tap | grep mysql
Deve retornar algo como:
tcp 0 0 localhost:mysql *:* LISTEN 5459/mysqld
se sim, prossiga!
Então os créditos são para cem.beyaz, criador primário dos passos. Mas vamos lá, sempre é um mistério o "como é que faz", vou ser objetivo e sugiro as seguintes leituras antes de prosseguir com o artigo:
- Instalação Debian Lenny - servidorlenny.wikidot.com
- Authentication authorization and accounting with freeradius and mysql backend and webbased management with daloradius - howtoforge.org
- Linux, Apache, MySQL e PHP no Debian Lenny - catoze.wordpress.com

Versões usadas neste artigo:
- L - Linux Debian Lenny 5.0.5
- A - Apache/2.2.9
- M - MySQL Distrib 5.0.51a
- P - PHP Version 5.2.6-1
- FreeRADIUS Version 2.0.4
- Coova-chilli 1.0.13
Instalando LAMP
Instale seu Debian Lenny como preferir e configure a rede da forma que a internet fique conectada em uma placa de rede (ex: eth0) e a rede com o chilli em outra placa (ex: eth1).A seguir adicione seus repositórios e:
# apt-get update && apt-get upgrade
Logo depois:
# apt-get install apache2 apache2-doc apache2-utils ssl-cert libapache2-mod-php5 php5 php5-common php5-mysql mysql-server mysql-client libmysqlclient15-dev freeradius freeradius-mysql phpmyadmin
Em seguida altere o seguinte arquivo /etc/apache2/mods-available/dir.conf para:
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml
Execute o seguinte comando para ativar os módulos do Apache:
# a2enmod ssl && a2enmod rewrite && a2enmod suexec && a2enmod include && a2enmod php5
Crie um link simbólico desta forma para podermos testar o suporte à https:
# ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl
Vamos criar um certificado a nível de testes:
# mkdir /etc/apache2/ssl/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem -days 365
Alteramos o arquivo /etc/apache2/sites-available/default-ssl para remover as linhas comentadas (sugiro, que para quem esta iniciando, ler as linhas comentadas para saber o porque elas estão lá):
# cp /etc/apache2/sites-available/default-ssl /srv/
# cat /srv/default-ssl | grep -v '#' > /etc/apache2/sites-available/default-ssl
Altere o arquivo /etc/apache2/sites-available/default-ssl e mude a linha:
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
Para:
SSLCertificateFile /etc/apache2/ssl/apache.pem"
E remova a linha "SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key".
Reinicie o Apache:
# /etc/init.d/apache2 restart
Vamos testar, vá até um navegador e digite:
- http://seu.ip.local/
- https://seu.ip.local/
Se nas duas tentativas deu tudo certo, vai aparecer uma mensagem "It works!", lembrando que no acesso seguro confirmar exceção!
Obs.: Muito importante, se até aqui a mensagem não apareceu, sugiro revisar o artigo!
Seguindo, verifique se o mysql esta rodando:
# netstat -tap | grep mysql
Deve retornar algo como:
tcp 0 0 localhost:mysql *:* LISTEN 5459/mysqld
se sim, prossiga!