- Header Kernel - GCC
sudo apt-get install linux-headers
- Pacotes essenciais
sudo apt-get install build-essential
- PHP
sudo apt-get install php5-curl php5-xsl php5-apcu
- WifiDog
sudo apt-get install libtool automake autoconf lighttpd
- Mysql
sudo apt-get install mysql-server -y
- PhpmyAdmin
sudo apt-get install phpmyadmin
- DNS
sudo apt-get install bind9 bind9-doc dnsutils
- GIT
sudo apt-get install git
- Desabilitando o Lighttpd
sudo update-rc.d lighttpd stop
sudo nano /etc/network/interfaces
# LOCALHOST
auto lo
iface lo inet loopback
# WAN
auto eth0
iface eth0 inet dhcp
# LAN
auto eth1
iface eth1 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.1
Servidor DHCP - isc-dhcp-server
Movendo arquivo original
sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.orig
Adicionando a nova configuração
sudo nano /etc/dhcp/dhcpd.conf
authoritative;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.2 10.0.0.254;
option routers 10.0.0.1;
option broadcast-address 10.0.0.255;
option domain-name "local";
option domain-name-servers 10.0.0.1;
default-lease-time 600;
max-lease-time 7200;
}
Reiniciando servidor DHCP
sudo service isc-dhcpd-server restart
Habilitar o encaminhamento ipv4
sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1
Habilitar imediatamente o encaminhamento ipv4
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Regras de encaminhamento via iptables
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Salvar as configurações
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Restaura as configurações a cada reboot, antes do "exit 0"
sudo nano /etc/rc.local
iptables-restore < /etc/iptables.ipv4.nat
Movendo o arquivo original
sudo mv /etc/bind/named.conf.options /etc/bind/named.conf.options.bk
sudo nano /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
forwarders {
// Google Public DNS
8.8.8.8;
8.8.4.4;
// OpenDNS servers
208.67.222.222;
208.67.220.220;
// ADSL Router
192.168.1.1;
};
// Security options
listen-on port 53 { 127.0.0.1; 10.0.0.1; };
allow-query { 127.0.0.1; 10.0.0.0/24; };
allow-recursion { 127.0.0.1; 10.0.0.0/24; };
allow-transfer { none; };
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Mudar o resolv.con
sudo nano /etc/resolv.conf
nameserver 127.0.0.1
sudo service bind9 restart
Download do código fonte
git clone https://github.com/wifidog/wifidog-gateway.git
Gerando dependencias Configurando Compilando Instalando
./autogen.sh
./configure
make
sudo make install
Fix Bug - WifiDog não consegue encontrar o libhttpd.so.0
sudo cp /usr/local/lib/libhttpd.so.0 /usr/lib/x86_64-linux-gnu/.
Arquivo de configuração do wifidog
sudo cp wifidog-gateway/wifidog.conf /usr/local/etc/.
Html do wifidog
sudo cp wifidog-msg.html /usr/local/etc/wifidog-msg.html
Configurações Gerais
sudo nano /usr/local/etc/wifidog.conf
GatewayID MAC:DA:REDE:INTERNA
GatewayInterface eth1
AuthServer {
Hostname 10.0.0.1
SSLAvailable no
Path /
}
Conferiar pacotes do Symfony Framework
wget http://sf-to.org/1.4/check.php && php check.php
Habilitando modulo rewrite
sudo a2enmod rewrite
Dowload Versão Instavel
wget https://launchpad.net/authpuppy/trunk/1.0.0-stable/+download/authpuppy-1.0.0-stable.tgz
Descomptação
tar xvzf authpuppy-<version>-<stability>_<packaging>.tgz
Movendo para pasta do padrão do apache
sudo mv authpuppy /var/www/
Movendo arquivo original
sudo mv /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bk
Gerando nova configuração authpuppy
sudo nano /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName authpuppy.localhost
ServerAlias authpuppy.test
DocumentRoot /var/www/authpuppy/web
DirectoryIndex index.php
<Directory /var/www/authpuppy/web/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Alias /sf /var/www/authpuppy/lib/vendor/symfony/data/web/sf
<Directory "/var/www/authpuppy/lib/vendor/symfony/data/web/sf">
AllowOverride All
Allow from All
</Directory>
ErrorLog /var/log/apache2/authpuppy/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/authpuppy/access.log combined
</VirtualHost>
Pasta contendo o log do authpuppy
sudo mkdir /var/log/apache2/authpuppy
Mudando permissão para o usário e grupo www-data
sudo chown -R www-data:www-data /var/www/authpuppy/
Criando banco, usuario e dando permissão.
mysql -uroot
mysql> create database authpuppy;
mysql> create user 'authpuppy'@'localhost' identified by 'authpuppydev';
mysql> grant all privileges on authpuppy.* to 'authpuppy'@'localhost' with grant option;
Reiniciando o servidor apache
sudo service apache2 restart
Database and user configuration Db type: mysql Db server: 10.0.0.1 Db name: authpuppy Db username: authpuppy Db password: authpuppydev
-
apAuthLocalUserPlugin Authenticator from a local username / password database, and possibility for users to signup
-
apNodeExtraPlugin Add some functionnalities to nodes, geolocation, create or steal node - Google Maps
-
apNodeCustomPlugin Allows to set some options per node instead of global, like the authenticator and network policies
-
apConnectionPoliciesPlugin Manage connection policies (bandwith and duration) for the various authenticators of the system
-
apWebServicePlugin Allow to use Web Service *** Latest version 0.1.3 requires core version 0.1.2 ***
-
apStatisticsPlugin Generic report generator and default reports for the elements of the authpuppy core
-
apExternalCMSPlugin Allow to plug login and portal pages to an external content management system