Zum Hauptinhalt springen Skip to page footer

Matomo-Installation: Die datenschutzorientierte Open-Source-Webanalyseplattform für Website-Betreiber

| Tutorial | Matomo Ubuntu 22.04 20.04 Linux

"Effiziente Matomo-Installation: Erfahren Sie Schritt für Schritt, wie Sie das Installationspaket herunterladen, den Virtual Host konfigurieren und Ihre erste Website einrichten. Entdecken Sie die einfachen Anweisungen zur Einrichtung von Matomo, um Ihre Besucher zu erfassen und aussagekräftige Echtzeit-Analysedaten zu erhalten. Optimieren Sie Ihre Webanalytik mit Matomo und starten Sie noch heute!"

Matomo

Matomo ist eine Open-Source-Webanalyseplattform, die es Website-Betreibern ermöglicht, das Besucherverhalten auf ihrer Website besser zu verstehen. Matomo, früher bekannt als Piwik, bietet eine Alternative zu kommerziellen Webanalysetools wie Google Analytics, bei denen die volle Kontrolle über die Daten beim Website-Betreiber liegt.

Mit Matomo können Website-Betreiber verschiedene Aspekte des Website-Verkehrs analysieren, darunter Anzahl der Besucher, Seitenaufrufe, Absprungrate, Verweildauer, verwendete Suchbegriffe, geografische Herkunft des Besuchers usw. Die Plattform bietet außerdem Website-Traffic- und Conversion-Tracking-Funktionen in Echtzeit.

Matomo zeichnet sich durch Datenschutzfunktionen aus, die die Privatsphäre der Website-Besucher respektieren. Die Plattform ermöglicht es Website-Betreibern, die IP-Adressen der Besucher anonym zu speichern, den Besuchern die Möglichkeit zum Opt-out zu geben und die Datensouveränität in den Händen des Website-Betreibers zu belassen.

Durch die Installation von Matomo auf ihren eigenen Servern haben Website-Betreiber die volle Kontrolle über ihre Analysedaten und können diese nach Bedarf anpassen und skalieren. Matomo bietet außerdem eine umfassende API und viele Erweiterungen, um die Funktionalität der Plattform an individuelle Bedürfnisse anzupassen.

Insgesamt ist Matomo eine leistungsstarke und datenschutzorientierte Webanalyseplattform, die Websitebesitzern dabei hilft, wertvolle Erkenntnisse über ihre Besucher zu gewinnen und das Benutzererlebnis auf der Website zu verbessern. 

Systemanforderungen

Erforderliche Konfiguration zum Ausführen von Matomo

Um Matomo (Piwik) zu betreiben, muss der Server einige Voraussetzungen erfüllen:

  • Webserver wie z.B. Apache, Nginx, IIS, LiteSpeed, etc.
  • Matomo 4.x benötigt PHP Version 7.2.5 oder höher. Matomo funktioniert auch vollständig mit PHP 8. (das ältere Matomo 3.x benötigte PHP Version 5.5.9 oder PHP 7.x)
  • MySQL Version 5.5 oder höher, oder MariaDB
  • standardmäßig aktivierte PHP-Erweiterung pdo und pdo_mysql, oder die mysqli-Erweiterung.
  • Matomo kann auf allen Betriebssystemen wie Linux (Ubuntu, RedHat, CentOS, Raspberry Pi OS, etc.), Windows, macOS Server oder FreeBSD betrieben werden.

Empfohlene Konfiguration

Die Entwickler empfehlen die Verwendung der neuesten Version von PHP 8.x, da sie speichereffizienter und schneller ist als frühere PHP-Versionen.

Sie empfehlen weiterhin die Verwendung von MySQL 8+ oder MariaDB als Datenbank.

Um Matomo optimal nutzen zu können, benötigen Sie außerdem einige zusätzliche PHP-Erweiterungen, wie z.B. die PHP GD-Erweiterung, die für die Erstellung von Sparklines (kleine Grafiken), Grafiken in Statistik-E-Mail-Berichten sowie Grafiken in der Matomo Mobile App verwendet wird. Die Liste der PHP-Erweiterungen, die Sie installieren sollten, sind:

sudo apt-get install php php-curl php-gd php-cli mysql-server php-mysql php-xml php-mbstring

Außerdem wird empfohlen, die PHP-Funktion shell_exec zu aktivieren, da sie für CLI-Prozesse verwendet wird.

MySQL Benutzeranforderungen

Wenn Sie Matomo installieren, müssen Sie einen MySQL-Benutzernamen und ein Passwort angeben. Der MySQL-Benutzer muss die Berechtigung haben, Tabellen in der Datenbank zu erstellen und zu ändern.

Der MySQL-Benutzer sollte die Rechte SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, FILE haben.

Hinweis

Matomo funktioniert nicht mit einem MySQL-Loadbalancer wie ProxySQL, es sei denn, Sie können sicherstellen, dass alle Abfragen innerhalb einer bestehenden Verbindung immer an denselben Datenbankserver gesendet werden.

Empfohlene Server-Ausstattung (CPU, RAM, Festplatten)

Um zu wissen, wie viele CPUs und wie viel RAM und Festplattenspeicher zu verwenden sind, ist der wichtigste Faktor, wie viele Anfragen Sie pro Monat in Matomo verfolgen werden. Zu den Anfragen gehören Seitenaufrufe, Ereignisse, Downloads usw. Weitere Faktoren, die sich auf die Planung der Serverkapazität auswirken, sind die Anzahl der erstellten Websites und die Anzahl der zu verarbeitenden Benutzersegmente.

Als allgemeine Regel gilt: Wenn mehr als 1 Million Benutzeraktionen/Seitenaufrufe/Ereignisse pro Monat verfolgt werden, empfehlen wir, mindestens zwei Server zu haben, einen für die Datenbank und einen für die Verarbeitung aller HTTPS-Anfragen (Tracking, API, UI) und die Berichtsverarbeitung.

Voraussetzungen

Schritt 1: Herunterladen des Installationspaketes

Wenn Sie über SSH-Zugriff für Ihren Server oder Webhosting-Plan verfügen, stellen Sie zunächst eine Verbindung über SSH her. Anschließend können Sie mit dem folgenden Befehl das neueste Installationspaket herunterladen. 

wget https://builds.matomo.org/matomo-latest.zip

Extrahieren Sie dann die ZIP-Datei mit dem folgenden Befehl. 

unzip matomo-latest.zip

Ihr Ordner enthält jetzt einen Matomo-Ordner mit den entpackten Dateien. Verschieben Sie den gesamten Inhalt des Matomo-Ordners in den Zielordner.

Dies kann der root-Ordner einer Domain bzw. Subdomain oder ein Unterordner einer Domain bzw. Subdomain sein.

mv ./matomo/* -R /path/to/target/dir

Schritt 2: Konfiguration des Virtual Hosts

In diesem Tutorial wird davon ausgegangen, dass der Virtual Host bereits eingerichtet ist. Sollte das nicht der Fall sein, folgen Sie zuerts der Anleitung aus dem Tutorial “Maximiere die Flexibilität: Einrichtung von Virtual Hosts für den Apache-Webserver”.

Wir gehen an dieser Stelle nur auf die Matomo-spezifische Konfiguration des Virtual Host ein.  Öffnen Sie die Konfigurationsdatei für den Virtual Host (/etc/apache2/sites-available/ihreConfDatei.conf) mit einem Editor, z.B. nano, und fügen Sie folgende Beispielskonfiguration ein:

sudo nano /etc/apache2/sites-available/ihreConfDatei.conf
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName subdomain.domain.de
    DocumentRoot /var/www/ihrRootVerzeichnis/

    <Directory /var/www/ihrRootVerzeichnis>
        DirectoryIndex index.php
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

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

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

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

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

    ErrorLog ${APACHE_LOG_DIR}/matomo.error.log
    CustomLog ${APACHE_LOG_DIR}/matomo.access.log combined
</VirtualHost>

Danach müssen Sie den Apache-Webserver neu starten. 

sudo service apache2 restart

Schritt 3: Datenbank anlegen

Wenn auf Ihrem System noch kein MySQL- oder MariaDB-Server installiert ist, folgen Sie den Anweisungen des Tutorials “Leicht gemacht: Installation eines MySQL-/MariaDB-Servers auf einem Ubuntu-Server”.

Die Datenbank erstellen Sie analog zu einer der beiden Vorgehensweisen aus dem Tutorial “Effizientes Datenbank-Management: Erstellen einer MySQL/MariaDB-Datenbank mit Leichtigkeit – GUI vs. Konsole”.

Schritt 4: Matomo installieren

Öffnen Sie Ihren Webbrowser und gehen Sie zu der URL, unter der Sie Matomo hochgeladen haben. Wenn alles korrekt hochgeladen wurde, sollte der Begrüßungsbildschirm der Matomo-Installation angezeigt werden. (Wenn der Begrüßungsbildschirm nicht angezeigt wird, stellen Sie sicher, dass Ihr Webserver konfiguriert ist und funktioniert.) Sollten während der Installation Probleme auftreten, wird Piwik das Problem identifizieren und eine Lösung anbieten. 

Systemcheck

Matomo überprüft, ob Ihr Server die Matomo-Anforderungen erfüllt. Wenn alles in Ordnung ist, werden Sie eine lange Liste wie diese sehen:

Einrichtung der MySQL-Datenbank

Sie sollten Ihre MySQL-Datenbank bereits eingerichtet haben (siehe Schritt 3). 

Sicherheitshinweis:

Für eine bessere Sicherheit empfehlen wir Ihnen, Matomo (Piwik) in einer eigenen MySQL-Datenbank zu installieren und einen Benutzernamen und ein Passwort für einen Benutzer festzulegen, der nur auf diese Datenbank zugreifen kann. Klicken Sie hier für detaillierte Anweisungen zum Erstellen einer neuen Datenbank und eines MySQL-Benutzers.

Hinweis:

Beachten Sie, dass die Verbindung zur Datenbank standardmäßig Port 3306 verwendet. Wenn Ihr Server einen anderen Port verwendet, können Sie diesen Port nach dem Hostnamen eingeben, zum Beispiel localhost:3307.

Klicken Sie nach dem Ausfüllen des Formulars auf „Weiter“. ”

Matomo fügt die benötigten Tabellen zu Ihrer Datenbank hinzu. 

Hauptadministrator

Der Hauptadministrator ist der Benutzer, den Sie bei der Installation von Matomo anlegen. Dieser Benutzer hat die höchsten Berechtigungen. Wählen Sie Ihren Benutzernamen und Ihr Passwort:

Verlieren Sie diese Informationen nicht, denn nur so können Sie sich zum ersten Mal bei Matomo anmelden. In jeder Matomo-Installation gibt es nur einen Hauptadministrator. Der Hauptadministrator kann administrative Aufgaben durchführen, wie z.B. das Hinzufügen neuer Websites zur Überwachung, das Hinzufügen von Benutzern, das Ändern von Benutzerrechten und das Aktivieren und Deaktivieren von Plugins.

Standardmäßig wird der Hauptadministrator für Upgrade- und Sicherheitswarnungen sowie für Community-Updates angemeldet. Deaktivieren Sie diese Kontrollkästchen, wenn Sie diese E-Mails nicht erhalten möchten.

Füllen Sie die Informationen aus und klicken Sie auf "Nächste".

Einrichten Ihrer ersten Website

Geben Sie den Namen und die URL der ersten Website ein, die Sie tracken möchten. Sie können weitere Websites hinzufügen, sobald die Installation abgeschlossen ist.

Installieren Sie das JavaScript-Tracking-Tag

Matomo wird Ihnen ein JavaScript-Tag ausgeben. Dieser Code muss auf jeder Seite erscheinen, die von Matomo analysiert werden soll. Wir empfehlen Ihnen, diesen Code unmittelbar vor dem abschließenden </head>-Tag einzufügen (oder in einer allgemeinen Header-Datei, die am Anfang all Ihrer Seiten enthalten ist).

Wenn Sie Ihr Tracking-Tag kopiert haben, klicken Sie auf "Nächste".

Glückwunsch

Matomo ist installiert und bereit, Ihre Besucher zu erfassen. Sobald die ersten Besucher kommen, wird Matomo ihre Daten erfassen. Matomo-Berichte werden in Echtzeit erstellt, sodass Sie die Daten sofort in Ihrem Matomo-Dashboard sehen sollten.

Klicken Sie auf "Weiter zu Matomo" und melden Sie sich bei Ihrem Dashboard an!

Schritt 5: Matomo konfigurieren

Wenn das Matomo-Javascript-Tracking-Tag ordnungsgemäß auf Ihrer Website installiert ist, erhalten Sie Echtzeit-Analysedaten. Wenn Sie keine Daten erhalten, vergewissern Sie sich, dass Sie den Matomo-Javascript-Code kopiert und in die Seiten Ihrer Website eingefügt haben.

Wenn Sie anderen Nutzern Zugang zu Matomo geben wollen, oder mehr als eine Website überwachen wollen, oder Matomo umbenennen wollen, oder Plugins von Drittanbietern installieren wollen, müssen Sie die Administrationsseiten benutzen. Klicken Sie im oberen Menü auf "Administration" und dann auf "Benutzer", um Benutzer und Berechtigungen zu verwalten.

Wenn Sie Matomo fertig konfiguriert haben, können Sie für den Ordner "matomo/config/" restriktivere Berechtigungen (z.B. nur Lesezugriff) festlegen. Es gibt nur zwei Orte, an denen Matomo Dateien schreiben muss:

  • der Ordner matomo/tmp/
  • die Dateien matomo/js/piwik.js und matomo/js/matomo.js

Schritt 6: Matomo Systemprüfung

Gehen Sie in Matomo auf die Seite “Administration” (Zahnrad-Symbol in der Menüleiste). Sobald Sie die Seite aufrufen findet eine Systemprüfung statt. Diese dauert ein paar Sekunden.

Matomo zeigt drei Probleme an.

Problem 1: Cron einrichten

Um dieses Problem zu beheben, müssen Sie einen Cron-Job einrichten, der vom Webserver-Benutzer www-data ausgeführt wird. Der folgende Befehl bearbeitet die Crontab für den www-data-Benutzer. 

sudo crontab -u www-data -e

Fügen Sie dann folgende Zeile ein:

# m h  dom mon dow   command
5 * * * * /usr/bin/php8.1 -f /var/www/ihr-Website-Verzeichnis/console core:archive --url=http://ihre-matomo-domain.de/ > /dev/null

Hinweis:

Der Aufruf des Befehls /usr/bin/php8.1 kann je nach Konfiguration Ijres Systems variieren.

Beispiel: /usr/bin/php

Dieser Cronjob löst den täglichen/wöchentlichen/monatlichen/jährlichen Archivierungsprozess um 5 Minuten nach jeder vollen Stunde aus. Dadurch wird sichergestellt, dass Ihre Daten bereits verarbeitet wurden, wenn Sie Ihr Matomo-Dashboard besuchen. Matomo wird dadurch schneller geladen. 

Problem 2: Maximale Pa(c)ketgröße

Um dieses Problem zu beheben, müssen Sie die „maximale Paketgröße“ (max_allowed_packet) in der Datenbankserverkonfiguration anpassen. Der Standardwert für diese Einstellung ist 8 MB, Matomo erfordert jedoch eine Erhöhung auf 64 MB. Bearbeiten Sie dazu die Datei my.cnf. 

sudo nano /etc/mysql/my.cnf

Fügen Sie am Ende der Datei folgende Zeilen ein:

[mysqld]
max_allowed_packet=64M

Anschließend muss der Datenbankdienst neu gestartet werden

service mysql restart

Problem 3: Erzwungene SSL Verbindung

Dieser Punkt setzt voraus, dass Sie für Ihre Domain ein gültiges SLL-Zertifikat haben und das ihr Virtual Host für die Verwendung von HTTPS konfiguriert ist (was dringend zu empfehlen ist). Ist dies bei Ihnen noch nicht der Fall, erfahren Sie im Tutorial “Certbot-Installation leicht gemacht: Schritt-für-Schritt-Anleitung für Ubuntu 22.04”, wie sie ein kostenloses Zertifikat erstellen können.

Liegen die Voraussetzungen vor, müssen Sie nur noch die Datei config.ini.php Ihrer Matomo-Instanz editieren.

sudo nano /var/www/ihre-website/config/config.ini.php

Fügen Sie dem Abschnitt [General] folgende Zeile (4) hinzu:

...
[General]
...
force_ssl = 1
...

Ihre Matomo-Instanz ist jetzt einsatzbereit.