Wifidog

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche


Bild:edit.png Dieser Artikel ist noch nicht vollständig. Du kannst helfen, ihn zu bearbeiten.
<b>Achtung</b> <b>Achtung:</b> Dieser Artikel ist in der Entstehungsphase und noch nicht komplett. Es hat noch diverese Ungenauigkeiten und Fehler. Bitte vor Änderungen mit Autor Rücksprache nehmen, damit die Arbeit nicht doppelt gemacht wird.
Dieser Artikel ist Teil der HOWTO Sammlung

Das Wifidog Projekt wurde von Île sans fil gestartet und wird produktiv eingesetzt. Da existierende Captive Portal Lösungen sich nicht auf auf Routern und ähnlichen Geräten integrieren liessen (NoCat braucht Perl, GnuPG und OpenSSL) oder keine Zugangskontrolle bieten (NoCatSplash und andere) wurde Wifidog entwickelt. Wififdog bietet eine zentrale Zugangskontrolle, Bandbreiten-Management, Knoten-Überwachung und lokalen Inhalt auf jedem Hotspot. Es wird kein Javascript-Fenster benötigt und so ist ein Zugang auch mit PDAs und Mobiltelefonen möglich, die einen Web-Browser besitzen. Wifidog wurde in C geschrieben, was eine Integration in embedded systems sehr einfach macht. Es läuft auf nahezu allen Linux-Plattformen, unter anderem auch auf Linksys WRT54G. Eine typische Installation bracht nur 30kb auf einem i386-System. Eine voll funktionsfähige Installation kann jedoch auch unter 10 kb sein, wenn es nötig ist.

Die Portal Suite ist hautpsächlich ein Authentifizierungs-Server auf der Basis von PHP, welche eine PostgreSQL-Datenbank dahinter hat.


Inhaltsverzeichnis

Installation

Vorbereitung

Als Basis dient eine minimale Installation von Fedora. Alle benötigten Teile werden mit Yum nachgeladen. Das System sollte mit yum update zuerst auf den neusten Stand gebracht werden.

Benötigt werden folgende Komponenten für den Authentifizierungs-Server:

  • Web-Server mit PHP5
  • diese Erweiterungen: pgsql, dom and mbstring
  • optional: xml, gettext, mcrypt, mhash und xmlrpc
  • PEAR Erweiterungen: radius, Auth_RADIUS und Crypt_CHAP
  • ebenfalls optional: Smarty, MagpieRSS und Phlickr


[root]# yum install gcc flex libxml2-devel postgresql-devel httpd-devel libtool libpng-devel subversion php-pear

Als Datenbank wird PostgreSQL verwendet.

[root]# yum install postgresql-client postgresql-server

Zur einfacheren Wartung der Datenbank kann auch noch phpPgAdmin installiert werden.

[root]# yum install phpPgAdmin

Installation von Wifidog

Die Sourcen werden aus dem Subversion-System von Wifidog geladen.

svn checkout https://dev.wifidog.org/svn/trunk/wifidog-auth

Nun wird das Verzeichnis wifidog-auth in das Verzeichnis des Web-Server verschoben /var/www/.

[root]# mv wifidog-auth/ /var/www/

Installieren der PEAR-Module

[root]# pear install --alldeps Image_Graph-alpha


Konfiguration

Apache

Die Konfigurations-Datei /etc/httpd/conf/httpd.conf von Apache muss angepasst werden. DocumentRoot muss wie folgt geändert werden.

DocumentRoot "/var/www/wifidog-auth/wifidog/"

Damit der Web-Server beim Systemstart automatisch mitgestartet wird, muss er aktiviert werden.

[root]# /sbin/chkconfig httpd on

Starten des Web-Servers

[root]# /sbin/service httpd start

PostgresSQL

Dieser Eintrag muss in der Datei /var/lib/pgsql/data/postgresql.conf gemacht werden.

tcpip_socket = true

Folgenden Zeilen müssen in der Datei /var/lib/pgsql/data/pg_hba.conf ergänzt werden.

host wifidog wifidog 127.0.0.1/32            md5
local wifidog wifidog                        md5

Da die Datenbank beim Systemstart automatisch mitgestartet werden soll, muss sie ebenfalls aktiviert werden.

[root]# /sbin/chkconfig postgresql on

Wechseln des Benutzers

su postgres

Erzeugen einer Datenbank

initdb -D postgres

Starten der Datenbank

[root]# /sbin/service postgresql start

Anlegen eines Datenbank-Benutzers.

<b>Achtung</b> <b>Achtung:</b> Dies muss als root ausgeführt werden.
createuser wifidog -P
Geben Sie das Passwort der neuen Rolle ein: 
Geben Sie es noch einmal ein: 
Soll die neue Rolle ein Superuser sein? (j/n) n
Soll die neue Rolle Datenbanken erzeugen dürfen? (j/n) n
Soll die neue Rolle weitere neue Rollen erzeugen dürfen? (j/n) n

Datenbank anlegen

createdb wifidog –encoding=UFT-8 –owner=wifidog
CREATE DATABASE

SSL-Schlüssel selber generieren

Der Ablauf zum Generieren eines Schlüssel funktioniert nach folgendem Ablauf.

cd /etc/httpd/conf/
rm ssl.key/server.key
rm ssl.crt/server.crt
make genkey
cd /usr/share/ssl/certs
make testcert
cd /etc/httpd/conf/ssl.key
cp server.key server.key.encrypted
openssl rsa -in server.key.encrypted -out server.key
chmod 400 server.key

Cron

Diese Ergänzung muss in die Datei /etc/crontab gemacht werden.

##Wifidog
#Send status emails every two minutes
*/2 * * * * apache /usr/local/bin/php /var/www/wifidog-auth/wifidog/cron/page.php
#Vacuum the database every hour
01 * * * * apache /usr/local/bin/php /var/www/wifidog-auth/wifidog/cron/vacuum.php

Wifidog

Ist die Installation und Konfiguration der von Wifidog benötigten Teile abgeschlossen, kann mit der Konfiguration von Wifidog begonnen werden.

http://[Server-Adresse]/install.php

Es erscheint im Browser eine Seite mit dem Namen "Welcome to WifiDog Auth-Server installation and configuration script.". Das Passwort muss aus der Datei /tmp/dog_cookie.txt ausgelesen werden und im Dialog-Feld zum Anmelden verwendet werden.

Die nächste Seite befasst sich mit den Datei-Berechtigungen (Permissions). Wenn alle Berechtigungen stimmen, dann erscheint der Next-Button. Mit folgenden Kommandos, welche der der Installations-Seite entnommen wurden.

mkdir /var/www/wifidog-auth/wifidog/tmp/simplepie_cache /var/www/wifidog-auth/wifidog/lib/simplepie /var/www/wifidog-auth/wifidog/lib/feedpressreview

und

chgrp -R apache /var/www/wifidog-auth/wifidog/tmp /var/www/wifidog-auth/wifidog/tmp/simplepie_cache \ 
/var/www/wifidog-auth/wifidog/lib/smarty /var/www/wifidog-auth/wifidog/lib/smarty/plugins \ 
/var/www/wifidog-auth/wifidog/tmp/smarty/templates_c /var/www/wifidog-auth/wifidog/tmp/smarty/cache \
 /var/www/wifidog-auth/wifidog/lib/simplepie /var/www/wifidog-auth/wifidog/lib/feedpressreview \ 
/var/www/wifidog-auth/wifidog/config.php

und

chmod g+wx /var/www/wifidog-auth/wifidog/tmp /var/www/wifidog-auth/wifidog/tmp/simplepie_cache \
 /var/www/wifidog-auth/wifidog/lib/smarty /var/www/wifidog-auth/wifidog/lib/smarty/plugins \
 /var/www/wifidog-auth/wifidog/tmp/smarty/templates_c \ 
 /var/www/wifidog-auth/wifidog/tmp/smarty/cache /var/www/wifidog-auth/wifidog/lib/simplepie \ 
 /var/www/wifidog-auth/wifidog/lib/feedpressreview /var/www/wifidog-auth/wifidog/config.php

Die darauffolgende Seite befasst sich mit den Abhängigkeiten (Checking dependencies).

[root]# yum install xmlrpc gd libxml mhash mcrypt

yum install libxml php-dom php-mhash php-mcrypt php-xmlrpc

Installed: php-mcrypt.i386 0:5.1.6-1.fc6 php-mhash.i386 0:5.1.6-1.fc6 php-xml.i386 0:5.1.6-3.4.fc6 php-xmlrpc.i386 0:5.1.6-3.4.fc6

Smarty, ein Template Engine, muss nun installatiert werden. Dies geschied automatisch.

SimplePie installation: wird mit Drücken auf Install gestartet.

Feed press review installation: wird mit Drücken auf Install gestartet.

Database access configuration: Daten gemäss eingen Angaben.

Database connection: wenn die Funktionsprüfung erfolgreich ist, dann geht die Installtion weiter. Gibt es einen Fehler, muss er zuerst behoben werden.


Siehe auch


Links

Persönliche Werkzeuge