Projekt Wifidog
Inhaltsverzeichnis |
Einleitung
Um einen Gastzugang mit Anmeldung zum Opennet zu realisieren, haben wir nach einer vorhandenen Open Source Lösung gesucht. Wifidog bietet sich als sogenanntes Captive Portal an. Mehr unter http://dev.wifidog.org/
Aufbau
Wifidog besteht aus den Komponenten:
- Gateway -- hier die Opennet Access Points
- Portal (Auth-Server) -- ein zentraler Server für die Verwaltung
Installation
OpenWrt AP (Wifidog Gateway)
Zunächst müssen wir das Gateway-Plugin auf unserem AccessPoint installieren. Dazu wählen wir für unsere Firmware das passende Packet, in diesem Fall für WhiteRussianRC6:
ipkg install http://easynews.dl.sourceforge.net/sourceforge/wifidog/wifidog_1.1.3_beta6-1_mipsel_whiterussianRC6.ipk
Jetzt muss noch die Konfiguration angepasst werden:
vi /etc/wifidog.conf
Wir haben testweise gesetzt:
GatewayID oni1 ExternalInterface vlan1 GatewayInterface eth1 GatewayAddress 192.168.1.137 AuthServer { Hostname oni-desktop-frieda23 Path / }
- Die GatewayID hilft später bei der Verwaltung mehrerer Knoten auf dem auth server.
- Als ExternalInterface muss das Interface konfiguriert werden, welches Verbindung zum Internet hat.
- Das GatewayInterface ist die Schnittstelle über welche sich Clients verbinden können, in unserem Fall über WLAN.
- Der Hostname gibt den Rechner an, auf dem der auth server läuft. Achtung: hier ist es wichtig keine Leerstelle hinter dem Namen zu haben!
- Der Path gibt den Pfad zum wifidog auth server home-Verzeichnis an. Achtung: auch hier darf keine Leerstelle hinter dem letzten Zeichen sein!
Die Konfiguration auf dem AccessPoint wäre damit abgeschlossen. Wenn auch der auth server richtig konfiguriert ist, sollte wifidog auf dem AP nun ohne Fehlermeldungen durchstarten:
/etc/init.d/S*wifidog start
Debain/Ubuntu Server (Wifidog Portal)
Das Vorgehen ist sehr gut unter http://dev.wifidog.org/wiki/doc/install/ubuntu/auth-server beschrieben, hier die wichtigsten Schritte zusammengefasst:
Vorbereitungen
Installation Webserver, PHP sowie Datenbank:
sudo apt-get update sudo apt-get install apache2 php5 sudo apt-get install postgresql sudo apt-get install php5-cgi sudo apt-get install php5-mhash php5-pgsql php-pear php5-xmlrpc php5-curl php5-mcrypt sudo apt-get install language-pack-en-base sudo apt-get install language-pack-de-base
Installation des Versionsmanagementsystems (wenn noch nicht vorhanden):
sudo apt-get install subversion
Installation einer zusätzlichen PHP-Bibliothek:
sudo pear install XML_RPC cd /tmp wget http://downloads.sourceforge.net/project/phlickr/Phlickr/0.2.7/Phlickr-0.2.7.tgz sudo pear install Phlickr-0.2.7.tgz rm Phlickr-0.2.7.tgz
Hinweis: Es ist möglich, dass ein Mirror nicht mehr existiert - dann gegen einen funktionierenden austauschen.
Installation + Konfiguration (Shell)
Installation wifidog-AuthServer und Konfiguration im Webserver:
svn checkout https://dev.wifidog.org/svn/trunk/wifidog-auth sudo mv wifidog-auth/ /var/www/ sudo nano /etc/apache2/sites-available/default DocumentRoot /var/www/ -> DocumentRoot /var/www/wifidog-auth/wifidog sudo /etc/init.d/apache2 restart
Spracheinstellungen:
sudo nano /var/www/wifidog-auth/wifidog/config.php define('DEFAULT_LANG', 'en_US');
Mailserver installieren:
sudo apt-get install postfix
Datenbank anlegen:
sudo su - postgres createuser wifidog --pwprompt createdb wifidog --encoding=UTF-8 --owner=wifidog
Alle Fragen mit 'n' beantworten.
Das initiale Passwort für die Installation erhält man mittels
cat /tmp/dog_cookie.txt
(benötigt für Installation + Konfiguration (Webinterface))
Installation + Konfiguration (Webinterface)
http://<server>/install.php (Login mit Username leer, Passwort siehe dog_coockie.txt)
Den Instruktionen folgen.
Hinweis: Es sollten alle rot markiertn Komponenten installiert werden, auch wenn die Beschreibung suggeriert dass diese optional sind. Wir hatten Probleme mit phpmailer - hier war der in den Quellen hinterlegte Link nicht mehr aktuell, wir haben manuell angepasst.
Aufräumen (Shell)
Entfernen des Installationsscipts:
cd /var/www/wifidog-auth/wifidog mv install.php ../install.php
Nun ist der Portal-Server über http://<server>/ erreichbar.