Unser selbst gebautes Matomo Docker Image aus dem letzten Kapitel binden wir jetzt als Container über Traefik ans Internet an. Damit haben wir im Anschluss an das Setup unseren eigenen Statistik-Server am Laufen. Auf geht’s!
Update 12.02.’20
Upgrade auf php Version 7.4 / Umstellung auf Traefik v2.1
Voraussetzungen
Für dieses Tutorial müssen die folgenden Voraussetzungen erfüllt sein:
- Ein laufendes Basis-System mit Docker und docker-compose
- Traefik v2.1 Container Tutorial
- MariaDB Container Tutorial
- Matomo Image Tutorial
- Wir sind entweder direkt als „root“ angemeldet oder haben uns per „sudo -i“ Rootrechte verschafft oder schreiben vor jedes Kommando ein „sudo“
Matomo Container Setup vorbereiten
Da wir Matomo von außen über das Internet als Web-Dienst aufrufen und auch der Tracker seine Informationen von außen bekommt, brauchen wir einen neuen DNS-Eintrag. Außerdem legen wir ein Stammverzeichnis für Matomo und seine Konfigurationsdatei unterhalb von „/var/www“ an. Wir brauchen auch eine Datenbank nebst Benutzer und Passwort, damit Matomo seine Statistik-Daten ablegen kann.
DNS-Eintrag für die Subdomain „matomo“ anlegen
Wie gewohnt legen wir jetzt einen DNS-Eintrag für unseren Matomo Container an. Dazu loggen wir uns auf der Oberfläche unseres Domain-Anbieters ein. In meinem Fall das „Customer Control Center“ von Netcup. Hier wechseln wir auf unsere Domain, die wir editieren möchten, und dort in den Reiter „DNS“. Wir erstellen eine Sub-Domain „matomo“. In meinem Fall heißt die volle Domain dann „matomo.xp-server.de“. Typ „A“ für „Domain-Eintrag“. Dann die IP des Servers eingeben und die DNS-Einstellung anschließend abspeichern.
Nach dem Anlegen des DNS-Eintrags dauert es ein Weilchen, bis sich dieser durch die Schichten des DNS-Systems im Internet ausbreitet. Aber nach 15 bis 45 Minuten sollte der Eintrag „sichtbar“ sein. Überprüfen kann man das mit einem „Ping“ auf den Domainnamen.
Datenbank und Datenbankbenutzer hinzufügen
Wie erwähnt braucht so ziemlich jede große Web-Anwendung dieser Tage eine Datenbank im Rücken, in der aller möglicher organisatorischer Krempel abgelegt wird. Matomo macht hier keine Ausnahme. Und gerade die Statistik-Daten brauchen sehr viel Einträge… Darum müssen wir jetzt im MariaDB-Server eine neue Datenbank anlegen und einen Benutzer dafür hinzufügen.
An dieser Stelle möchte ich noch einmal erwähnen, dass wir uns angewöhnen sollten, wie generell bei Passwörtern auch, für jeden Dienst eine eigene Datenbank mit eigenem Benutzer und eigenem Passwort zu erstellen. Gerade bei vielen WordPress Instanzen ist es verlockend, nur einen Benutzer anzulegen, dem dann alle WordPress-Datenbanken gehören. Aber damit steigt das Risiko, dass irgendwas schief läuft und wir eine Menge Probleme bekommen. Darum lieber auf „Nummer Sicher“ gehen und für jeden Dienst ein individuelles Set von Benutzern, Datenbanken und Passwörtern anlegen!
Im MariaDB Container Tutorial haben wir ja schon mal einen Benutzer für die Datensicherung angelegt. Hier ist das im Grunde das gleiche Prozedere, nur kommt noch eine Datenbank mit hinzu…
Für dieses Tutorial wähle ich folgende Werte:
Datenbankname: matomo
Datenbankbenutzer: matomo
Datenbank Passwort: unglaublichsicherespasswort
mysql -h 127.0.0.1 -u root -p ### root Passwort von MariaDB eingeben... CREATE DATABASE matomo; CREATE USER 'matomo'@'%' IDENTIFIED BY 'unglaublichsicherespasswort'; GRANT all ON matomo.* TO 'matomo'@'%'; FLUSH PRIVILEGES; SHOW DATABASES; exit;
Über Zeile 1 loggen wir uns vom Host aus in den Datenbankserver ein. Hier das root PW von MariaDB eingeben.
Zeilen 4-7 sind die SQL-Befehle zum Anlegen der Datenbank (4), dem Hinzufügen des Benutzers und Übergabe seines Passworts (5), dem Zuweisen aller Rechte der Datenbank „matomo“ an den Benutzer „matomo“ (6), gefolgt vom Neu Einlesen der Benutzerrechte des Datenbankservers (7).
Mit Zeile 8 lassen wir uns alle Datenbanken anzeigen. In der Ausgabe taucht jetzt unsere ganz frisch erstellte „matomo“ auf. Das ist nur eine schnelle Kontrolle :)
Durch den „exit“ Befehl verlassen wir den Datenbankserver und kehren zu unserem Host System zurück.
Werde ich mir auch mal installieren. Danke für die Anleitung.
Hast du Erfahrungen mit einem Server-Monitoring Tool? Beispielsweise Grafana?
Grüße
Olaf
Von Grafana hab ich leider noch nie was gehört.
Richtige Monitoring Tools hab ich in meinen verschiedenen Arbeitsstätten fast nicht. Einer nimmt Nagios. Viele haben proprietäre Gerätesoftware, die beim Ausfall eine SMS schicken.
Problem, das die meisten damit haben ist, dass ein „großes“ Tool immer viel zusätzliche Angriffsfläche bietet und wohl bei einem schon mal ein Einbruch über ein Monitoring-Tool erfolgt ist.
Aber aussehen tut dieses Grafana schon gut. Ich schau mal drüber, ob sich da was machen lässt…
Da hat schon jemand ein komplettes Tutorial:
https://goneuland.de/grafana-mit-docker-compose-und-traefik-installieren/
Danke den Link habe ich mal gesehen. Vielgicht könntest du trotzdem mal zeigen wie es mit deiner Konfiguration von Traefik funktioniert. Würde mich freuen
Ich hätt Dir die Config gerade per Mail geschickt, aber die kommt zurück mit dem Hinweis, dass die Adresse nicht stimmt…