1. Startseite
  2. Tutorials, Tipps + Tricks
  3. Technik
  4. GeoIP und PECL-Modul installieren

GeoIP und PECL-Modul installieren

GeoIP-Eckdaten

(Stand 05.09.2017)

GeoIP-Version: 1.6.11
PECL-Modul: 1.1.1
Download-Links:

Voraussetzung für diese Anleitung

  • ManagedHosting Pro
  • SSH-Zugang
  • PHP 7.X

Die Installation von GeoIP erfolgt im eigenen Kundenmenü.

Suchen Sie die aktuellen Versionen von GeoIP und PECL-Modul.

Installation der GeoIP-C-Libary und des PECL-Moduls

Vorbereitung

Loggen Sie sich per ssh in Ihren Account ein, legen Sie ein Installationsverzeichnis auf der obersten Ebene des Kundenaccounts an und wechseln Sie in dieses Verzeichnis. Das Verzeichnis darf auf dieser Ebene noch nicht vorhanden sein. Hier im Beispiel verwende ich /geoip/. Passen Sie ggf. den Namen an.

mkdir geoip
cd geoip

Für die Installation wird der Serverpfad benötigt. An diese Information kann man über verschiedene Wege bekommen:

  • im Kundenbackend im Bereich Allgemein / Informationen,
  • über die Variable $HOME im SSH-Terminal

Installation der GeoIP-C-Libary

Laden Sie die Dateien der GeoIP-C-Libary herunter, passen Sie die Angaben an die von Ihnen verwendete Version an, entpacken Sie das Archiv, wechseln in das entpackte Verzeichnis und installieren die GeoIP-C-Library.

wget https://github.com/maxmind/geoip-api-c/releases/download/v1.6.11/GeoIP-1.6.11.tar.gz
tar -xvf GeoIP-1.6.11.tar.gz
cd GeoIP-1.6.11
./configure --prefix=$HOME/geoip/GeoIP-1.6.11
make && make install

Hier können Fehlermeldungen wie „/bin/sh: fork: retry: Resource temporarily unavailable“ auftreten. Das ist normal da manchmal SSH-Limits greifen.

Installation des PECL-Moduls geoip

Wechseln Sie in das Installationsverzeichnis (/geoip), laden und entpacken das PECL-Modul und wechseln dann in dieses Verzeichnis.

cd $HOME/geoip
wget http://pecl.php.net/get/geoip-1.1.1.tgz
tar -xvf geoip-1.1.1.tgz
cd geoip-1.1.1

Um das PECL-Modul zu installieren, muss zuerst eine Build-Umgbung mit phpize eingerichtet werden.
(hier muss die jewelige PHP Version benutzt werden -> phpize7 für PHP Version 7.0.x oder phpsize71 für PHP Version 7.1.x ).

Hier im Beispiel verwende ich PHP 7.1.x

phpize71

Nun konfigurieren wir das Modul mit:
(auch wieder muss die PHP Version angepasst werden)

  • für PHP Version 7.0.x: –with-php-config=/usr/local/bin/php7-config oder
  • für PHP Version 7.1.x: –with-php-config=/usr/local/bin/php71-config
--with-php-config=/usr/local/bin/php71-config

Der Pfad bei –with-geoip muss auf den Ordner zeigen, in dem die GeoIP-C-Libary installiert ist:
(-> der Pfad –prefix bei der oben beschriebenen Installation der GeoIP-C-Libary).

./configure --with-php-config=/usr/local/bin/php71-config --with-geoip=$HOME/geoip/GeoIP-1.6.11/

Installation abschließen:

make && make test

Die geoip.so wird in den Unterordner modules abgelegt. ($HOME/geoip/geoip-1.1.1/modules/geoip.so)

Nach Der Installation muss noch ein Verzeichnis angelegt werden:

cd $HOME/geoip/GeoIP-1.6.11/share
mkdir GeoIP
cd GeoIP

In dieses Verzeichnis müssen die Datenbanken gelegt werden:

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
gzip -d GeoIP.dat.gz
gzip -d GeoLiteCity.dat.gz
gzip -d GeoIPASNum.dat.gz

Das PECL-Modul kann die Datenbank GeoLiteCity.dat nicht erkennen, daher muss diese in GeoIPCity.dat umbenannt werden.

mv GeoLiteCity.dat GeoIPCity.dat

Der ganze Installation ist auch noch mal in einem Shellskript zusammengefasst.

Anpassen der php.ini

In der php.ini müssen wir jetzt das PECL-Modul GeoIP aktivieren um es in Piwik nutzen zu können.

Tragen Sie folgendes in der php.ini ein:

[GeoIP]
 extension_dir = "[Serverpfad]/geoip/geoip-1.1.1/modules/"
 extension = "geoip.so"
 geoip.custom_directory = "[Serverpfad]/webseiten/piwik/misc/"

(Hier muss unbedingt der Serverpfad anstatt der Variable $HOME  eingetragen werden!)

Nach dem Speichern steht nun das PECL-Modul GeoIP zur Verfügung. Es muss der Unterordner misc innerhalb de Piwik Ordners angeben werden, da dort die IP-Datenbanken gespeichert werden.

Konfiguration von Piwik

In Piwik können wir nun GeoIP (PECL) aktivieren. Dazu muss jetzt unter Einstellungen -> Standorterkennung -> GeoIP (PECL) Installiert stehen. Durch einen Klick auswählen. Jetzt müssen noch die Datenbanken unten auf der Seite eingetragen werden.

Dafür unter „Automatische Updates für GeoIP Datenbanken einrichten“ die folgenden Links einfügen:

  • Standortdatenbank: http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
  • oder für IPv6: http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz
  • Internet Anbieter Datenbank: http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
  • Organisationsdatenbank: http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
  • Aktualisiere Datenbanken alle: Monat

-> Speichern

Piwik lädt nun die Datenbanken herunter.

Nun benutzt Piwik die genauerer GeoIP-Methode zu Lokalisierung der Besucher. Gleichzeitig werden die Datenbanken jeden Monat von Piwik aktualisiert.

Aktualisiert am 19. Februar 2020

War dieser Beitrag hilfreich?

Weitere Beiträge

Need Support?
Can't find the answer you're looking for?
Contact Support