So installierst du Matomo Web Analytics unter Ubuntu 22.04

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.

In diesem Lernprogramm wirst du deine Webanalyse mit Matomo auf einem Ubuntu 22.04 Server einrichten und sichern. Du installierst Matomo Web Analytics mit PHP 8.1, Apache2 Webserver und MariaDB Datenbank und sicherst den Einsatz mit SSL/TLS Zertifikaten über Certbot und Letsencrypt. Wenn du dieses Tutorial abgeschlossen hast, wirst du in der Lage sein, den Traffic auf deinen Websites zu tracken und zu überwachen, und du wirst detaillierte Tracking-Ergebnisse für deine selbst gehostete Matomo-Installation erhalten.

Voraussetzungen

Im Folgenden findest du die Voraussetzungen, die du für die Durchführung dieses Tutorials benötigst:

  • Ein Ubuntu 22.04 Server – Dieses Beispiel verwendet einen Ubuntu Server mit dem Hostnamen ‚matomo-server‚.
  • Ein Nicht-Root-Benutzer mit sudo/root-Administrator-Rechten.
  • Ein Domain-Name, der auf die IP-Adresse des Servers zeigt – In diesem Beispiel wird die Sub-Domain ‚analytics.hwdomain.io‚.

Wenn alle Voraussetzungen erfüllt sind, kannst du jetzt loslegen.

MariaDB Server installieren und konfigurieren

Matomo ist ein Open-Source-Webanalysesystem, das MySQL oder MariaDB als Datenbank-Backend verwendet. Zum Zeitpunkt der Erstellung dieses Artikels benötigte Matomo mindestens den MySQL Server v8 oder MariaDB v10.x. In dieser Anleitung wirst du MariaDB als Datenbank für Matomo Web Analytics installieren und verwenden.

Im ersten Schritt installierst du den MariaDB-Server, richtest die MariaDB-Bereitstellung ein und erstellst eine neue MariaDB-Datenbank und einen Benutzer.

Bevor du loslegst, führe den folgenden apt-Befehl aus, um deinen Paketindex zu aktualisieren und aufzufrischen.

sudo apt update

Installiere nun den MariaDB-Server mit dem unten stehenden apt-Befehl. Wenn du dazu aufgefordert wirst, gib y ein und drücke ENTER, um fortzufahren.

sudo apt install mariadb-server

mariadb installieren

Nachdem der MariaDB-Server installiert ist, führe den folgenden systemctl-Befehl aus, um sicherzustellen, dass der MariaDB-Server läuft.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Du solltest eine ähnliche Ausgabe wie diese erhalten – Der MariaDB-Server ist aktiviert und läuft standardmäßig. Außerdem wird der MariaDB-Server beim Hochfahren automatisch gestartet.

verifiziere mariadb

Als Nächstes sicherst du die Installation des MariaDB-Servers mit dem Befehl„mariadb-secure-installation„, der im MariaDB-Serverpaket enthalten ist.

Führe den folgenden Befehl aus, um den MariaDB-Server zu sichern.

sudo mariadb-secure-installation

Du wirst nun nach den folgenden MariaDB-Konfigurationen gefragt:

  • Lokale Authentifizierung auf unix_socket umstellen? Gib n ein.
  • Das neue MariaDB Root-Passwort einrichten? Gib zur Bestätigung y ein und gib dann das neue Passwort für deinen MariaDB-Server ein.
  • Anonymen Benutzer entfernen? Gib zur Bestätigung y ein.
  • Den Standard-Datenbanktest aus dem Einsatz entfernen? Gib zur Bestätigung y ein.
  • MariaDB Root-Login von Remote-Verbindungen verbieten? Gib zur Bestätigung y ein.
  • Tabellenberechtigungen neu laden und die Änderungen übernehmen? Gib y ein und drücke ENTER.

Jetzt sollte der MariaDB-Servereinsatz gesichert sein und du hast das Passwort für den MariaDB-Root-Benutzer hinzugefügt.

Als Nächstes erstellst du eine neue MariaDB-Datenbank und einen neuen Benutzer für die Matomo-Installation über die MariaDB-Shell.

Führe den unten stehenden Befehl „mariadb“ aus, um dich mit dem MariaDB-Root-Benutzer in der MariaDB-Shell anzumelden. Wenn du nach dem Passwort gefragt wirst, gibst du dein MariaDB-Root-Passwort ein.

sudo mariadb -u root -p

Führe nun die folgenden Abfragen aus, um eine neue MariaDB-Datenbank und einen neuen Benutzer zu erstellen. In diesem Beispiel erstellst du die Datenbank und den Benutzer ‚matomo‚ für die Matomo-Installation. Achte außerdem darauf, dass du das Standardpasswort in der folgenden Abfrage 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

Als Nächstes führst du die folgende Abfrage aus, um die Liste der Berechtigungen des Benutzers„matomo@localhost“ zu überprüfen.

SHOW GRANTS FOR 'matomo'@'localhost';
quit

Du solltest eine ähnliche Ausgabe erhalten wie diese – Der MariaDB-Benutzer „matomo@localhost“ hat alle Rechte, um auf die Datenbank „matomo“ zuzugreifen.

Privilegien anzeigen

In diesem Abschnitt hast du den MariaDB-Server installiert, die MariaDB-Installation mit dem Befehl„mariadb-secure-installation“ gesichert und eine neue Datenbank und einen neuen Benutzer für Matomo erstellt. Als Nächstes installierst du den Apache2-Webserver und PHP 8.x.

Installation von Apache2 Webserver und PHP 8

Matomo ist ein Open-Source-Webanalysesystem, das in PHP geschrieben wurde. Für die Installation wird die neueste Version von Matomo mit PHP 8.x vollständig unterstützt. Außerdem kann Matomo mit Apache2 und Nginx Webservern betrieben werden.

In diesem Schritt installierst du nun den Apache2-Webserver und PHP 8.1, konfigurierst die PHP-Installation und überprüfst den Apache2-Dienst und die PHP-Version.

Das Standard-Repository von Ubuntu enthält sowohl Apache2- als auch PHP-Pakete. Das Ubuntu 22.04 Repository enthält die neueste PHP-Version PHP8.1, die für die Installation von Matomo vollständig unterstützt wird.

Führe den folgenden apt-Befehl aus, um die Pakete Apache2 und PHP 8.1 zu installieren.

sudo apt install apache2 php php-cli libapache2-mod-php php-common php-curl php-gd php-mbstring php-mysql php-xml php-intl php-zip wget unzip

Wenn du dazu aufgefordert wirst, gib zur Bestätigung y ein und drücke ENTER, um fortzufahren.

apache2 php 8 installieren

Nachdem Apache2 und PHP installiert sind, führe den folgenden systemctl-Befehl aus, um den Apache2-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Du erhältst eine Ausgabe wie diese – Der Apache2-Dienst ist aktiviert und wird beim Booten automatisch ausgeführt. Und der Status des Apache2-Dienstes ist „running“.

Apache2-Dienst überprüfen

Als Nächstes öffnest du die Datei„php.ini“ für den Apache2 mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/php/8.1/apache2/php.ini

Ändere die Standardkonfiguration der php.ini mit den folgenden Zeilen. Passe die Werte für date.timezone und memory_limit an deine aktuelle Umgebung an.

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

Speichere und beende die Datei, wenn du fertig bist.

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

sudo systemctl restart apache2

Der Apache2 Webserver sollte jetzt mit der neuen php.ini Konfigurationsdatei laufen.

Zum Schluss führst du den unten stehenden php-Befehl aus, um die auf deinem System installierte PHP-Version zu überprüfen. Überprüfe dann die Liste der aktivierten PHP-Erweiterungen.

sudo php --version
sudo php -m

Du solltest eine ähnliche Ausgabe erhalten wie diese – PHP 8.1 ist auf deinem Ubuntu-System installiert. Vergewissere dich außerdem, dass die PHP-Erweiterungen, die für Matomo benötigt werden, aktiviert sind.

php-Version überprüfen

Jetzt hast du die Installation der Abhängigkeiten für Matomo Web Analytics abgeschlossen, einschließlich des MariaDB-Servers, des Apache2-Webservers und von PHP 8.1.

Im nächsten Schritt lädst du den Matomo-Quellcode herunter und richtest die richtigen Berechtigungen für das Matomo-Installationsverzeichnis ein, damit PHP und Apache2 die Matomo-Anwendung lesen und ausführen können.

Herunterladen des Matomo-Quellcodes

In diesem Schritt lädst du den Matomo-Quellcode herunter und richtest die richtigen Berechtigungen für das Matomo-Installationsverzeichnis ein.

Ändere dein aktuelles Arbeitsverzeichnis in „/var/www/“ und lade den MAtomo-Quellcode mit dem Befehl wget herunter.

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

Nachdem du den Matomo-Quellcode heruntergeladen hast, entpackst du ihn mit dem unten stehenden unzip-Befehl. Du solltest das neue Verzeichnis„matomo“ in deinem aktuellen Arbeitsverzeichnis erhalten.

unzip matomo.zip

Damit sollte dein Matomo-Installationsverzeichnis „/var/www/matomo“ sein.

Führe den unten stehenden Befehl aus, um den Eigentümer des Matomo-Installationsverzeichnisses„/var/www/matomo“ auf den Benutzer und die Gruppe„www-data“ zu ändern.

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

Nachdem du das Matomo-Installationsverzeichnis konfiguriert und den Matomo-Quellcode heruntergeladen hast. Als Nächstes erstellst du eine neue virtuelle Hostkonfiguration, die für die Ausführung von Matomo Web Analytics verwendet wird.

Virtuellen Host Matomo einrichten

Bevor du loslegst, musst du sicherstellen, dass der Domainname auf die IP-Adresse deines Servers zeigt. In diesem Beispiel wird die Sub-Domain ‚analytics.hwdomain.io‚ für die Matomo-Installation.

Erstelle eine neue Apache2 Virtual Host Datei „/etc/apache2/sites-available/matomo.conf“ mit dem unten stehenden nano-Editor Befehl.

sudo nano /etc/apache2/sites-available/matomo.conf

Füge die folgenden Zeilen in die Datei ein und achte darauf, dass du den Domainnamen 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 ${APACHE_LOG_DIR}/matomo_error.log
CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined

</VirtualHost>

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

Als Nächstes führst du den unten stehenden Befehl aus, um die neue Konfiguration des virtuellen Hosts„matomo.conf“ zu aktivieren. Überprüfe dann die Apache2-Konfigurationen, um sicherzustellen, dass du die richtige Konfiguration hast und kein Fehler vorliegt.

sudo a2ensite matomo.conf
sudo apachectl configtest

Du solltest die folgende Ausgabe erhalten: ‚Syntax OK‚, wenn du Apache2 richtig konfiguriert hast.

virtuellen Host Matomo einrichten

Zum Schluss führst du den folgenden systemctl-Befehl aus, um den Apache2-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart apache2

Damit hast du die Konfiguration des virtuellen Apache2-Hosts für die Matomo-Webanalyse abgeschlossen. Das bedeutet, dass dein Maomo jetzt auch von außerhalb des Netzwerks erreichbar ist und du über den Webbrowser darauf zugreifen kannst. Allerdings werden dabei immer noch unsichere HTTP-Verbindungen verwendet.

Im nächsten Schritt wirst du deine Matomo-Webanalyse-Installation mit SSL/TLS-Zertifikaten über Certbot und Letsencrypt sichern.

Matomo mit SSL/TLS über Certbot und Letsencrypt absichern

In diesem Schritt installierst du das Certbot-Tool und das Plugin für den Apache2-Webserver. Anschließend erstellst du neue SSL/TLS-Zertifikate für die Matomo-Webanalyse.

Bevor du beginnst, musst du sicherstellen, dass dein Domainname auf die IP-Adresse deines Servers zeigt. Außerdem brauchst du eine E-Mail-Adresse, mit der du dich bei Letsencrypt registrieren kannst.

Führe nun den folgenden apt-Befehl aus, um das Certbot-Tool und das Certbot-Plugin für den Apache2-Webserver zu installieren.

sudo apt install certbot python3-certbot-apache2

Gib y ein, wenn du dazu aufgefordert wirst, und drücke ENTER, um fortzufahren.

certbot installieren

Als Nächstes führst du den folgenden Certbot-Befehl aus, um SSL/TLS-Zertifikate für deinen Domainnamen zu erzeugen. Achte darauf, dass du den Domainnamen und die E-Mail-Adresse im folgenden Befehl änderst.

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

Nach Abschluss des Vorgangs sollte deine Mato-Webanalyse jetzt mit sicherem HTTPS auf deinem Apache-Webserver laufen. Außerdem hast du die automatische Umleitung von HTTP zu HTTPS konfiguriert und die OSCP-Klammer aktiviert.

Installation von Matomo Web Analytics

Öffne deinen Webbrowser und rufe die Domain deiner Matomo-Installation auf (z.B.: https://analytics.hwdomain.io). Du solltest nun die Begrüßungsseite von Matomo sehen (siehe Screenshot unten).

Klicke auf Weiter, um die Installation zu starten.

Willkommen bei matomo

Das Matomo-Installationsprogramm prüft nun die Serverumgebung für die Installation. Vergewissere dich, dass alle Anforderungen und Konfigurationen mit grüner Farbe markiert sind (siehe unten).

Matomo-Systemprüfungen

Außerdem musst du sicherstellen, dass die Hauptanforderungen mit den Matomo-Systemanforderungen übereinstimmen.

Datenbank-Setup

Klicke auf Weiter um fortzufahren.

Jetzt richtest du die MariaDB-Datenbankdetails für deine Matomo-Webanalyse ein. Achte darauf, dass du den richtigen Benutzernamen und das richtige Passwort für die Datenbank eingibst. Klicke dann Weiter erneut.

Datenbank-Setup

Der Matomo Web Installer sollte automatisch Tabellen erstellen, wenn deine Datenbankdetails korrekt sind.

Klicke auf Weiter, um fortzufahren.

erstellte Tabellen

Als Nächstes musst du einen neuen Admin-Benutzer für deine Matomo-Webanalyse-Installation anlegen. Achte darauf, dass du ein sicheres Passwort für deinen Matomo-Admin-Benutzer verwendest. Klicke dann wieder auf Weiter.

Admin erstellen

Damit richtest du das erste Tracking für deine Website ein. In der Domänennamee deiner Website, die du tracken möchtest, wählst du die Zeitzoneund klicke dann auf Weiter.

erste Verfolgung einrichten

Jetzt solltest du den JavaScript-Code sehen, den du in deine Webseiten eingeben musst. Klicke erneut auf Weiter, um fortzufahren.

Tracking-Code JavaScript

Du solltest nun die Glückwunschmeldung erhalten, dass du die Installation von Matomo abgeschlossen hast. Klicke auf die Schaltfläche WEITER ZU MATOMO unten auf der Seite.

Installation beendet

Du wirst nun zu einer sicheren HTTPS-Verbindung für die Anmeldeseite der Matomo-Administration weitergeleitet. Gib deinen Matomo-Benutzernamen und dein Passwort ein und klicke dann auf ANMELDEN.

Matomo Anmeldeseite

Wenn du den richtigen Admin-Benutzer und das richtige Passwort hast, solltest du die Matomo Webanalyse-Webverwaltung erhalten.

Matomo Dashboard

Klicke nun auf das Alle Websites Menü oben rechts, um die Liste der aktiven Trackings auf deiner Website anzuzeigen. Du solltest das erste Website-Tracking sehen, das du während der Matomo-Installation erstellt hast.

Matomo Liste Seiten

Du hast nun die Installation von Matomo Web Analytics abgeschlossen. Du fügst weitere Websites hinzu und beginnst mit dem Tracking über die selbst gehostete Matomo-Webanalyse.

Fazit

In diesem Artikel hast du die Open-Source-Webanalyse Matomo mit MariaDB-Datenbankserver, Apache2-Webserver und PHP 8.1 auf einem Ubuntu 22.04-Server installiert. Außerdem hast du Matomo mit SSL/TLS-Zertifikaten gesichert, die du mit Certbot und Letsencrypt erstellt hast.

Nachdem du nun die grundlegende Matomo Webanalyse installiert hast, kannst du Matomo in CMS (Content Management System) wie WordPress, TYPO3, Joomla, Drupal usw. integrieren. Außerdem kannst du Matomo mit eCommerce-Anwendungen wie Magento, Prestashop, Woocomeerce und OpenCart integrieren.

Das könnte dich auch interessieren …