In diesem Artikel will ich mal auf das Tool Matomo eingehen: wie ich es betreibe und einsetze.
Ich habe dieses Tool schon lange in Benutzung, damals habe ich ja mal den Artikel zu GoAccess geschrieben, aber danach bin ich zu Matomo gewechselt. Gründe dafür sind das umfassende Web-Dashboard und die Möglichkeit mehrere Seiten gleichzeitig zu überwachen.
Zunächst möchte ich ein paar Worte zum Grund für den Artikel verlieren: Mein ehemaliger VPS bei Netcup (500 G8) hatte 40 GB Speicher. Das ist nur genügend Speicher, um einen Snapshot anzulegen, wenn der Speicher zu mind. 50 % unbenutzt ist. Ein ziemlich merkwürdiges System, auch der zu buchbare Speicher ist nur über Umwege für Snapshots nutzbar. Daher habe ich mal ein bisschen aufgeräumt, und einiges an Dateien gelöscht. Die Matomo Instanz (welche schon bestimmt 2 Jahre im Einsatz ist) habe ich dann nochmal neu aufgesetzt. Daher jetzt ein kurzer Artikel.
Der Umzug ist aber mittlerweile abgeschlossen. In diesem Artikel kann man sich etwas zu meinem Vorgehen durchlesen.
Installation mit Docker-Compose
Wie bei den meisten anderen Dienste nutze ich auch hierfür Docker.matomo:
image: matomo
container_name: matomo
restart: always
volumes:
- ./matomo:/var/www/html
environment:
- MATOMO_DATABASE_HOST=matomo-db
- VIRTUAL_HOST=
env_file:
- ./matomo-db.env
ports:
- 8808:80
networks:
matomo:
ipv4_address: 172.20.0.60matomo-db:
image: mariadb
container_name: matomo-db
command: --max-allowed-packet=64MB
restart: always
volumes:
- ./matomo-db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=<PASSWORD>
- MYSQL_DATABASE=<DATABASE>
- MYSQL_USER=<USER>
- MYSQL_PASSWORD=<PASSWORD>
networks:
matomo:
ipv4_address: 172.20.0.61volumes:
matomo:networks:
matomo:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/24
Die Datei matomo-db.env
enthält: MYSQL_PASSWORD=<PASSWORD>
MYSQL_DATABASE=<DATABASE>
MYSQL_USER=<USER>
MATOMO_DATABASE_ADAPTER=mysql
MATOMO_DATABASE_TABLES_PREFIX=matomo_
MATOMO_DATABASE_USERNAME=<USER>
MATOMO_DATABASE_PASSWORD=<PASSWORD>
MATOMO_DATABASE_DBNAME=<DBNAME>
Die Datei stellt sicher, dass beim Einrichtungsassistent die Felder bereits vorausgefüllt sind. Falls nicht, kann man diese auch manuell füllen.
Durchläuft man dann den Einrichtungsassistenten, kann man auch schon die erste Webseite anlegen. Geschieht dies, kann der entsprechende HTML Tracking Code kopiert werden, der die Benutzer dann trackt und die Ergebnisse an den Server sendet.
Ghost - Apps/Plugins für andere CMS/Dienste
Für Ghost fügt man den Trackingcode dann unter Einstellungen > Code Injection > Site Header
hinzu. Hier habe ich bei meinem Blog bereits den Verweis für die lokal gehosteten FontAwesome Icons und die Zeile für die Google Site Verifikation stehen.
Nextcloud - Apps/Plugins für andere CMS/Dienste
Für Nextcloud muss man zunächst unter Apps > Tools
die App Piwik/Matomo Tracking
installieren. Danach gibt man über Settings > Additional Settings
die Site ID und die Matomo URL ein.
WordPress - Apps/Plugins für andere CMS/Dienste
Hierfür kann man das Plugin Matomo Analytics
. Danach kann man über Matomo Analytics > Einstellungen
den Trackingcode einfügen.
Datenanonymisierung
Wie in den Standardeinstellungen bereits konfiguriert, werden die IP-Adressen der Nutzer so maskiert, dass 2 Bytes nicht gespeichert werden:
Do Not Track
Ebenfalls - bereit in den Standardeinstellungen so eingestellt - werden die Do Not Track Einstellungen des Browsers repräsentiert:
Welche Trackingcode Methode nehmen?
Grundsätzlich gilt hier, dass das Einbinden in vielen Fällen nicht notwendig und auch nicht die beste Methode ist.
Matomo bietet hier die Methoden des JS Trackings, Image Tracking, und das Importieren der Server Logs an. Ich verwende auf dem Blog den Code des Image Trackings.