Linuxspicker

Admins kleiner Zettelkasten für die Lösung von Linuxproblemen

Geolocation: Monatliches Update der DBIP-Datenbanken für Matomo


Der Webanalysedienst Matomo hat eine Standorterkennung implementiert, die ständige Updates der verwendeten Datenbanken erfordern. Für den Fall das Geoloaction-Datenbanken von DBIP mit der php-Erweiterung genutzt werden, müssen regelmäßig drei Datenbanken für die höchste Informationsdichte heruntergeladen werden.

Matomo gibt in den Einstellungen den Hinweis auf die freie City Lite Datenbank: Falls Sie die DBIP City Lite Datenbank verwenden, benutzen Sie diesen Link: https://download.db-ip.com/free/dbip-city-lite-2020-12.mmdb.gz. Daraus lässt sich das Dateiformat entnehmen. Bei DBIP finden sich auf der Website Hinweise auf drei zugängliche Dateien im erforderlichen MMDB-Format, die einmal im Monat erneuert werden. Alle stehen unter einer Creative Commons Attribution Lizenz und können damit verwendet werden, solange DB-IP.com als Quelle für die verwendeten Daten angegeben wird, wenn es eine öffentliche Anwendung ist.

In jedem Fall ergibt sich der Link aus https://download.db-ip.com/free/DATENBANK-JAHR-MONAT.mmdb.gz Beispielsweise wäre das für den Dezember 2020 folgende Links:

IP to Country Lite
https://download.db-ip.com/free/dbip-country-lite-2020-12.mmdb.gz
IP to City Lite
https://download.db-ip.com/free/dbip-city-lite-2020-12.mmdb.gz
IP to ASN Lite
https://download.db-ip.com/free/dbip-asn-lite-2020-12.mmdb.gz

Mit der Angabe der Website, dass sie ihre Lite-Datenbanken zum Monatsersten erneuern, lässt sich daraus dann ein Script bauen, dass die Datenbanken automatisch erneuert. Im Script wird davon ausgegangen, dass Matomo in /var/www/matomo/misc installiert ist. Die Dateien werden heruntergeladen, entpackt und richtig umbenannt, sodass Matomo die Datenbanken auch findet. Die von Matomo akzeptierten Dateinamen lassen sich gemäß der FAQ dem Quellcode entnehmen.

#!/bin/bash

month=`date +'%m'`
year=`date +'%Y'`

cd /var/www/matomo/misc

wget https://download.db-ip.com/free/dbip-city-lite-$year-$month.mmdb.gz
wget https://download.db-ip.com/free/dbip-country-lite-$year-$month.mmdb.gz
wget https://download.db-ip.com/free/dbip-asn-lite-$year-$month.mmdb.gz

gunzip *.gz

mv dbip-city-lite-$year-$month.mmdb DBIP-City-Lite.mmdb
mv dbip-country-lite-$year-$month.mmdb DBIP-Country-Lite.mmdb
mv dbip-asn-lite-$year-$month.mmdb DBIP-ISP.mmdb

Wenn der Test des Scripts per Hand erfolgreich ist und auch in den Matomo-Einstellungen aus der IP-Adresse der Standort generiert wird, dann lässt sich per Cron-Dienst akkurat zum 2. des Monats ein Update durchführen. Beispielsweise in /etc/cron.d/dbip so:

1 6 * * 2 root test -x PFAD_ZUM_SCRIPT/dbip && PFAD_ZUM_SCRIPT/dbip


Stichworte: , , , , , ,
Kategorien: