Anleitung zur Installation von Matomo Web Analytics auf AlmaLinux 9

Matomo, ehemals Piwik, ist eine kostenlose und quelloffene Webanalysesoftware, die Website-Besuche verfolgen und Berichte zur Daten- und Zielgruppenanalyse anzeigen kann. Matomo ist unter der GPL-Lizenz lizenziert. Es ist in PHP geschrieben und kann mit einem MySQL- oder MariaDB-Datenbankserver betrieben werden.

Matomo bietet aufschlussreiche Berichte für die Nutzerverfolgung auf deinen Websites. Dazu gehören die verweisende Suchmaschine und die Schlüsselwörter, Sprachen, Seitenbesuche wie Dateibesuche, Downloads und vieles mehr. Matomo wird als Alternative zu Analysediensten wie Google Analytics immer beliebter.

Die folgende Anleitung zeigt dir, wie du Matomo Web Analytics auf dem AlmaLinux 9 Server installierst. Ich werde Matomo mit dem Webserver Httpd, PHP und der Datenbank MariaDB installieren. Außerdem werde ich Matomo mit SSL/TLS-Zertifikaten über Letsencrypt sichern.

Voraussetzungen

Um mit der Installation von Matomo zu beginnen, musst du die folgenden Voraussetzungen erfüllen:

  • Einen AlmaLinux 9 Server – In diesem Beispiel wird ein Server mit dem Hostnamen alma9 verwendet.
  • Einen Nicht-Root-Benutzer mit Root-Administrator-Rechten.
  • Einen Domainnamen, der auf die IP-Adresse des Servers zeigt.

Installieren und Konfigurieren von MariaDB

Matomo erfordert die Installation des MySQL- oder MariaDB-Datenbank-Servers. In diesem Fall wirst du den MariaDB-Server verwenden. Die folgenden Schritte zeigen dir, wie du den MariaDB-Datenbankserver installierst, die MariaDB-Installation absicherst und eine neue Datenbank und einen neuen Benutzer für deine Matomo-Installation anlegst.

MariaDB installieren

Standardmäßig stellt das AlmaLinux Appstream Repository die MariaDB Pakete zur Verfügung. Du kannst MariaDB ganz einfach über DNF installieren, ohne dass du ein Repository eines Drittanbieters benötigst.

Führe zunächst den folgenden dnf-Befehl aus, um den MariaDB-Datenbankserver zu installieren. Gib dann y ein, um die Installation zu bestätigen und drücke ENTER.

sudo dnf install mariadb-server

mariadb installieren

Nach der Installation des MariaDB-Servers führst du die folgenden systemctl-Befehle aus, um den MariaDB-Server zu starten und zu aktivieren. Wenn du den MariaDB-Server aktivierst, wird der Dienst beim Systemstart automatisch ausgeführt.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Überprüfe nun den Status des MariaDB-Servers, um sicherzustellen, dass der Dienst läuft. Wenn er läuft, solltest du auf deinem Terminal die Ausgabe active (läuft) erhalten.

sudo systemctl status mariadb

start enable verify mariadb

Sichern der MariaDB-Bereitstellung

Nachdem MariaDB installiert ist und läuft, musst du die Installation sichern, indem du das Root-Passwort einrichtest, die Fernanmeldung für den Root-Benutzer deaktivierst und den Standard-Datenbanktest und den anonymen Benutzer entfernst. Dies kannst du mit dem Dienstprogramm mariadb-secure-installation tun.

Um den MariaDB-Server zu sichern, führst du das Dienstprogramm mariadb-secure-installation in deinem Terminal aus.

sudo mariadb-secure-installation

Während des Vorgangs kannst du Y eingeben, um die Konfiguration zu übernehmen, oder n für No. Im Folgenden findest du einige MariaDB-Server-Einstellungen, zu denen du aufgefordert wirst:

  • Wenn du aufgefordert wirst, das MariaDB-Root-Passwort einzugeben, drücke ENTER.
  • Gib n ein, um die Konfiguration der unix_socket-Authentifizierung zu überspringen.
  • Gib Y ein, um das MariaDB-Root-Passwort einzurichten, gib dann dein neues Passwort ein und wiederhole es.
  • Gib Y ein, um die Fernanmeldung durch den MariaDB-Root-Benutzer zu deaktivieren.
  • Gib Y ein, um den anonymen Standardbenutzer von deinem MariaDB-Server zu entfernen.
  • Gib dann erneut Y ein, um den Standard-Datenbanktest zu entfernen.
  • Gib schließlich Y ein, um die Tabellenberechtigungen neu zu laden und die Änderungen zu übernehmen.

Neue Datenbank und Benutzer anlegen

Nachdem du nun eine sichere MariaDB eingerichtet hast, musst du im nächsten Schritt eine neue MariaDB-Datenbank und einen neuen Benutzer für die Matomo-Installation erstellen. Du musst dich über das MariaDB-Client-Dienstprogramm am MariaDB-Server anmelden.

Melde dich mit dem unten stehenden Befehl mariadb client in der MariaDB-Shell an. Wenn du zur Eingabe des Passworts aufgefordert wirst, gibst du dein MariaDB-Root-Passwort ein.

sudo mariadb -u root -p

Nachdem du dich eingeloggt hast, führe die folgenden Abfragen aus, um eine neue Datenbank und einen neuen Benutzer für die Matomo-Installation zu erstellen. In dieser Demo legst du eine neue Datenbank und den Benutzer matomo an und stellst sicher, dass du das Passwort p4ssw0rddb durch ein neues, sicheres Passwort ersetzt.

CREATE DATABASE matomo;
CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'p4ssw0rddb';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON matomo.* TO 'matomo'@'localhost';
FLUSH PRIVILEGES;

Datenbank und Benutzer anlegen

Führe nun die folgende Abfrage aus, um sicherzustellen, dass der Benutzer matomo auf dem MariaDB-Server verfügbar ist und Berechtigungen für die Datenbank matomo hat.

SHOW GRANTS FOR 'matomo'@'localhost';

Zum Schluss gibst du quit ein, um die MariaDB-Shell zu verlassen.

Benutzerprivilegien anzeigen

Installation von Httpd Webserver und PHP 8.1

Matomo ist hauptsächlich in PHP geschrieben und benötigt daher mindestens PHP 8.x. Im folgenden Abschnitt installierst du den httpd Webserver und PHP 8.1 Pakete über das AlmaLinux Appstream Repository. Danach wirst du PHP konfigurieren.

Bevor du die PHP-Pakete installierst, musst du die Standard-PHP-Version auf PHP 8.1 einstellen. In RHEL-basierten Distributionen wird dies als Repository-Modul bezeichnet, und das Standard-Repository von AlmaLinux bietet zwei Versionen von PHP 8.0- und 8.1-Paketen.

sudo dnf module enable php:8.1

Gib y ein, wenn du zur Bestätigung aufgefordert wirst.

Modul php 8.1 aktivieren

Führe nun den folgenden dnf-Befehl aus, um den httpd-Webserver und die PHP-Pakete auf deinem System zu installieren. Gib y ein, um die Installation zu bestätigen und drücke ENTER.

sudo dnf install httpd php php-common php-mysqlnd php-gd php-curl php-json php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-zip php-soap

httpd php installieren

Nach der Installation von httpd und PHP führst du die folgenden systemctl-Befehle aus, um den httpd-Webserver zu starten und zu aktivieren. Dadurch wird der httpd-Webserver auf dem Standardport 80 gestartet, so dass er beim Booten automatisch ausgeführt wird.

sudo systemctl start httpd
sudo systemctl enable httpd

Überprüfe nun den Status des httpd-Webservers mit dem folgenden Befehl. Wenn der httpd-Webserver läuft, solltest du eine aktive (laufende) Ausgabe erhalten.

sudo systemctl status httpd

start enable httpd

Jetzt hast du den httpd-Webserver und die PHP-Pakete installiert. Jetzt musst du PHP so konfigurieren, wie es für die Matomo-Installation benötigt wird.

Öffne die Standard-PHP-Konfiguration /etc/php.ini mit dem folgenden nano-Editor.

sudo nano /etc/php.ini

Entferne die Auskommentierung der folgenden Optionen und ändere den Wert entsprechend. Diese Optionen hängen von deinem AlmaLinux Rechner ab.

date.timezone = Europe/Stockholm
memory_limit = 256M
upload_max_filesize = 16M
max_execution_time = 300

Speichere und schließe die Datei, wenn du fertig bist.

Führe nun den folgenden systemctl-Befehl aus, um den httpd-Webserver neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart httpd

Überprüfe die PHP-Version und die verfügbaren Module, indem du den unten stehenden Befehl ausführst.

php --version
php -m

Du solltest PHP 8.1 und einige aktivierte Module wie apcu, curl und gd auf deinem System installiert haben.

php verifizieren

Herunterladen des Matomo-Quellcodes

Zu diesem Zeitpunkt sind die meisten benötigten Pakete installiert und laufen. Jetzt lädst du den Matomo-Quellcode herunter und richtest das Stammverzeichnis des Matomo-Dokuments mit den richtigen Eigentümern ein.

Bevor du den Matomo-Quellcode herunterlädst, führe den folgenden dnf-Befehl aus, um wget zu installieren und zu entpacken.

sudo dnf install wget unzip -y

install wget unzip

Wechsle nun in das Verzeichnis /var/www und führe den unten stehenden wget-Befehl aus, um den Matomo-Quellcode herunterzuladen. Sobald der Quellcode heruntergeladen ist, solltest du die Datei matomo.zip sehen.

cd /var/www
wget https://builds.matomo.org/matomo.zip

Führe anschließend den Befehl unzip aus, um die Datei matomo.zip zu entpacken. Sobald die Datei matomo.zip entpackt ist, solltest du das neue Verzeichnis matomo erhalten, das das Stammverzeichnis für deine Matomo-Installation sein wird.

unzip matomo.zip

Zum Schluss führst du den Befehl chmod aus, um die Rechte am Verzeichnis /var/www/matomo auf den Benutzer apache und die Gruppe apache zu ändern. Dies ermöglicht dem Webserver httpd und PHP den Zugriff auf den Matomo-Quellcode.

sudo chown -R apache:apache /var/www/matomo

Führe dann erneut den folgenden Befehl aus, um die richtigen Rechte für den Quellcode einzurichten.

find /var/www/matomo/tmp -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/assets/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/assets/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/cache/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/cache/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/logs/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/logs/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/tcpdf/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/tcpdf/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/templates_c -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/templates_c -type d -exec chmod 755 {} \;

Httpd Virtual Host konfigurieren

Im folgenden Abschnitt erstellst du eine neue httpd Virtual Host-Konfiguration für den Betrieb der Matomo-Webanwendung. Stelle vorher sicher, dass dein Domainname auf die IP-Adresse deines Servers zeigt und richtig konfiguriert ist.

Erstelle eine neue httpd Virtual Host-Konfiguration /etc/httpd/conf.d/matomo.conf, indem du den folgenden Befehl im nano-Editor verwendest.

sudo nano /etc/httpd/conf.d/matomo.conf

Füge die folgende Konfiguration ein und achte darauf, dass du den Domainnamen im Parameter ServerName durch deine Domain ersetzt.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName analytics.hwdomain.io
    DocumentRoot /var/www/matomo/
<Directory /var/www/matomo>
DirectoryIndex index.php
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

<Files "console">
Options None
Require all denied
</Files>

<Directory /var/www/matomo/misc/user>
Options None
Require all granted
</Directory>

<Directory /var/www/matomo/misc>
Options None
Require all denied
</Directory>

<Directory /var/www/matomo/vendor>
Options None
Require all denied
</Directory>

ErrorLog /var/log/httpd//matomo_error.log
CustomLog /var/log/httpd//matomo_access.log combined

</VirtualHost>

Speichere die Datei und beende den Editor, wenn du fertig bist.

Führe nun das Dienstprogramm apachectl aus, um die gesamte httpd-Konfiguration zu überprüfen. Wenn deine httpd-Konfiguration korrekt ist, solltest du eine Ausgabe wie “ Syntax OK“ erhalten.

sudo apachectl -t

Als Nächstes führst du den Befehl systemctl aus, um den httpd-Webserver neu zu starten und die neue Konfiguration des virtuellen Hosts anzuwenden.

sudo systemctl restart httpd

httpd virtuellen Host einrichten

Starte den Webbrowser und rufe den Domainnamen der Matomo-Installation auf. Wenn du erfolgreich warst, solltest du die Matomo-Installationsseite wie diese sehen:

Seite installieren

Matomo mit SSL/TLS-Zertifikaten absichern

Es wird empfohlen, Matomo mit SSL/TLS-Zertifikaten zu betreiben. In diesem Abschnitt sicherst du Matomo mit SSL-Zertifikaten von Letsencrypt, die du über Certbot generieren kannst. Certbot ist ein Letsencrypt-Client, der im EPEL-Repository verfügbar ist. Du musst also zuerst das EPEL-Repository hinzufügen, bevor du Certbot installierst.

Führe den folgenden dnf-Befehl aus, um certbot und das certbot Apache/httpd-Modul zu installieren. Gib y ein, um die Installation zu bestätigen und drücke ENTER.

sudo dnf install epel-release -y
sudo dnf install certbot python3-certbot-apache

certbot installieren

Sobald certbot installiert ist, führe den folgenden certbot-Befehl aus, um SSL-Zertifikate für deinen Domainnamen zu erstellen.

sudo certbot --apache2 --agree-tos --redirect --hsts --staple-ocsp --email user@hwdomain.io -d analytics.hwdomain.io

Nachdem der Befehl ausgeführt wurde, werden neue SSL/TLS-Zertifikate im Verzeichnis /etc/letsencrypt/live/domain-name.com generiert und eine neue SSL-Konfiguration zur Datei /etc/httpd/conf.d/matomo.conf hinzugefügt. Die SSL-Konfiguration wird über das Certbot Apache Plugin hinzugefügt.

Installation von Matomo Web Analytics

Gehe zurück zu deinem Webbrowser und rufe den Domainnamen für die Matomo-Installation auf. Nachdem du die Willkommensseite erhalten hast, klicke auf Weiter, um die Installation zu starten.

Installation starten

Das Installationsprogramm prüft nun die Systemvoraussetzungen. Stelle also sicher, dass alles mit einem grünen Häkchen markiert ist:

Systemprüfung

Klicke erneut auf Weiter, um fortzufahren.

Gib die Daten der MariaDB-Datenbank und des Benutzers ein, die du angelegt hast. Klicke dann wieder auf Weiter.

Datenbank-Konfiguration

Nachdem die Tabellen für Matomo erstellt wurden, siehst du die Meldung Tables is created, dann klicke auf Next.

erstellte Tabellen

Gib nun den neuen Benutzernamen und das Passwort für Matomo ein. Dieser Benutzer wird als Administrator für Matomo verwendet, also merke dir den Benutzernamen und das Passwort gut.

Admin-Benutzer anlegen

Danach gibst du den Domainnamen als ersten Tracker ein und änderst die Zeitzone entsprechend. Klicke dann auf Weiter, um fortzufahren.

erstes Tracking erstellen

Sobald der erste Tracker erstellt ist, solltest du den Tracking-Code auf deinem Bildschirm sehen. Scrolle bis zum Ende der Seite und klicke auf Weiter.

Tracking Code beendet

Jetzt sollte die Installation abgeschlossen sein. Scrolle nach unten und klicke auf die Schaltfläche WEITER ZU MATOMO.

Installation beendet

Wenn du aufgefordert wirst, dich anzumelden, gibst du den Matomo-Admin-Benutzer und das Passwort ein und klickst dann auf ANMELDEN.

Anmeldung bei matomo

Wenn du den richtigen Benutzernamen und das richtige Passwort hast, wird das Matomo-Administrations-Dashboard in deinem Browser angezeigt.

Matomo Dashboard

Von dort aus kannst du die Matomo-Installation ganz einfach verwalten und weitere Tracker für Websites hinzufügen.

Fazit

Du hast Matomo Web Analytics erfolgreich auf deinem AlmaLinux Rechner installiert. Du hast Matomo mit dem Webserver httpd, PHP 8.1 und dem Datenbankserver MariaDB installiert. Außerdem hast du Matomo mit SSL-Zertifikaten gesichert, die du mit Certbot und Letsencrypt erstellt hast.

Mit diesen Voraussetzungen kannst du jetzt damit beginnen, deine Websites hinzuzufügen und deine Besucher mit respektvollem Datenschutz zu verfolgen, der auf Matomo Web Analytics aufbaut

Das könnte dich auch interessieren …