Piwik Geolocalization Plugin GeoIP für Regionen installieren

Autor: Christian Ahmer, erstellt: 31.08.2010, zuletzt geändert: 16.09.2014
Kategorien: Web, Linux

Man kann ja von Google Analytics halten was man möchte, es ist definitiv eine sehr gute Statistiklösung für lau. Aber in Punkte Datenschutz ist es definitiv nach wie vor Katastrophal - man kann zwar einstellen, dass man die Daten grundsätzlich nicht veräußern möchte, aber hilft das wirklich? Kann man das selbst wirklich beweisen? Nein, das könnte nur Google.

Aus diesem Grund habe ich mich entschlossen, dem frei verfügbaren (da open source) Web Analytiktool Piwik eine Chance zu geben.
Nun läuft es seit eingen Tagen und ich bin sehr zufrieden, zwar ist der Mehraufwand gegeben, sprich man muss den Dienst auf seinem eigenen Server laufen lassen und Piwik dort etwa als Vhost im Apache laufen lassen, das ganze etwas konfigurieren und natürlich den Statistik-Javascript Schnipsel im Body der Seite verankern, damit die Statistik auch getriggert werden kann.

Was mich bislang aber gestört hat, ist die Tatsache, dass man per default die Besucher bislang nur bis auf das Land nachverfolgen kann, aber keine Regionen bzw. Städte möglich sind.
Dem kann man aber abhelfen, wenn man folgende Schritte unternimmt (ich bin hier im folgenden via ssh auf meinem Rootserver eingeloggt):

Auf dem Server (hier Debian) die Entwicklungspakete für den Apache installieren, falls noch kein which Befehl namens apxs2 existiert, einfach testen via

which apxs2

Zum installieren reicht in der Regel

apt-get install apache2-threaded-dev

Wenn apxs2 nun verfügbar ist, sollte man sich das Modul mod_geoip installieren, um eine bessere Performance zu erreichen. Achtung: mod_geoip benötigt zwingend vorher eine aktuelle Version von GeoIP. Diese bekommt man hier: http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz.
Via

tar xvzf GeoIP-1.4.6.tar.gz

auspacken und in dem Verzeichnis

./configure

gefolgt von

make

eingeben. Wenn das Programm erfolgreich kompiliert wurde, dann einfach via

make install

installieren.
Nun kann man in das Verzeichnis von mod_geoip wechseln und dort folgendes ausführen:

apxs2 -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c

In der Konfiguration des VHosts sollte man nun noch mod_geoip aktivieren:
Dazu reichen folgende zusätzliche Einstellungen:

<IfModule mod_geoip.c>
	GeoIPEnable On
	GeoIPDBFile /var/www/piwik/plugins/GeoIP/libs/GeoLiteCity.dat
</IfModule>

Nun sollte man den Apache Webserver neustarten, damit die Einstellungen greifen - das Modul sollte danach geladen sein:

/etc/init.d/apache2 restart

Piwik GeoIP Plugin herunterladen: http://dev.piwik.org/trac/attachment/ticket/45/GeoIP.zip?format=raw und im Piwik Verzeichnis unter /plugins auspacken, so dass man ein Verzeichnis namens {piwik_root}/plugins/GeoIP erhält.
In dem GeoIP Verzeichnis muss unter /libs nun noch die Datenbank für IP<->Städtezuordnungen gelegt werden, diese ist ein einfaches .dat File, welches man unter http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz herunterladen kann. Dieses kann man z.B. via wget laden und via gunzip GeoLiteCity.dat.gz direkt entpacken. Ggf. sollte man noch die Dateizugriffsrechte anpassen.

Nun muss man nur noch wie gewohnt die Piwik Web Analytics Seite aufrufen und unter Einstellungen->Plugins das Plugin GeoIP aktivieren.
Gegebenenfalls kommt nun noch eine kleine Seite, die einem mitteilt, dass die Datenbank upgedated werden muss, das sollte man unbedingt machen.
Damit werden alle zukünftigen Besuche auf den via Piwik erfassten Seiten den entsprechenden Städten zugeordnet und man weiß wieder, woher die Leute kommen, die die eigenen Seiten besuchen.

Eine Sache noch:
Damit auch die bisherigen Besuche entsprechend Städten zugeordnet werden, gibt es ein kleines Skript, welches man am besten auf der Kommandozeile auf dem Server kurz aufruft:
Es nennt sich geoipUpdateRows.php und man findet es unter plugins/GeoIP/misc/geoipUpdateRows.php.

Einfach aufrufen:

php geoipUpdateRows.php

Und schon werden auch bisherige Besuche Städten zugeordnet.

Viel Spaß beim Erfassen von Webstatistiken via Piwik!



Bisherige Kommentare

Autor: pito am 27.01.2012
http://dev.piwik.org/trac/ticket/45 hilft das vielleicht? bin selbst ein anfänger der nur rumgooglet und kenn mich mit apachen nicht aus. probier also grad diesen plugin-weg aus und hoff dass es funktioniert! (scheint mir einfacher, zumindest kapier ich was da steht...)
Autor: Alex am 22.02.2011
Verzeichnis von mod_geoip ? Wo findet man das?
Autor: Christian Ahmer am 14.12.2010
Hallo djad, also bei einem normalen Webhosting wirst Du sicher Probleme haben. Um aber alle Zweifel auszuräumen: Frag doch einfach deinen Webhoster, ob er Dir bei diesen Dingen helfen kann. Plugins für Joomla im Zusammenhang mit Piwik und Geolokalisierung wirst Du möglicherweise ergoogeln können.
Autor: djad am 26.11.2010
Hi.. Danke für das tolle Tutorial. Ich wollte das auch machen.allerding weiß ich nicht wo ich die Befehle eingeben soll. Ich habe ja kein Voll Zugriff auf den Webserver. Geht das denn auch auf einem normalen Webhoster von alfahosting? Du hast ja sicher einen eigenen Server. Ich benutze das CMS Joomla 1.5 Gibts da eine Lösung dafür? Würde auch zu gerne die Städte tracken.