Piwik – Städte und Bundesländer mittels Geodatenbank

Piwik – Städte und Bundesländer mittels Geodatenbank

Piwik hat leider nur unter GeoIP (Php) eine Orts/Bundeslandspezifische Zuordnung.
Zum einen geht das nur, wenn man das ganze nicht Anonym Verarbeitet.
Das ist zum einen Datenschutz Bedingt in Deutschland nicht erlaubt und zum anderen ist die GeoIP unter PHP sehr Ressourcenlastig, was bei starken Traffic Verhältnissen sich nachteilig auswirkt.

Wer dennoch GeoIP mit PHP nutzen möchte kann sich dies installieren, auch wenn es nicht empfehlenswert ist:
sudo apt-get install php-pear php5-dev php5-geoip php5-dev libgeoip-dev screen
Die Konfiguration selbst könnt ihr unter php.net nachlesen.

Bei GeoIP (PECL) und GeoIP (Apache) sind diese leider nicht vorhanden.
So kommt nur dieses Ergebnis:

Land:Deutschland
Org: unbekannt
ISP: unbekannt

Seit Piwik 1.9 kann man auch manuell eine Geo Datenbank nutzen(ohne Plugin).

Automatisch:

sudo apt-get install curl
screen
cd /path/to/piwik/
curl -s http://huskynarr.de/files/scripts/piwik_geodb_install.sh | bash

Manuell:

Download und Installation der GeoIP-Datenbank:
Eine kostenlose Version einer GeoIP-Datenbank findet man bei Maxmind.
Hier die passende Version holen.
Die heruntergeladene Datei müsst Ihr dann in “misc/” entpacken und in GeoIPCity.dat umbenennen.
cd misc/
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
mv GeoLiteCity.dat.gz GeoIPCity.dat

Aktualisierung:
Um die Aktualisierung zu starten, gibt es von Piwik ein vorgefertigtes Script unter “misc/others/geoipUpdateRows.php”.
[php]screen
php ./geoipUpdateRows.php[/php]
Eventuell den Cronjob starten

Ein kleines Danke an www.rebbert.de.
Hab seinen Beitrag nun eben halt noch als Script gemacht.
Andere Dinge könnt ihr bei ihm nachlesen.

Nachtrag: Screen wird dafür benötigt, das die erste Aktualisierung nicht unterbrochen wird.