So installierst du Matomo Web Analytics unter Debian 12

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

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

In diesem Tutorial lernst du, wie du Matomo Web Analytics auf einem Debian 12 Server installierst. Du richtest Matomo mit dem LAMP-Stack ein und sicherst Matomo mit HTTPS über Certbot und Letsencrypt.

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast:

  • Einen Debian 12 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Einen Domainnamen, der auf eine Server-IP-Adresse zeigt.

Installieren der Abhängigkeiten

Matomo ist eine PHP-basierte Webanalyse, die MySQL/MariaDB als Datenbank verwendet. Um Matomo zu installieren, musst du LAMP (Linux, Apache, MySQL/MariaDB und PHP) oder LEMP (Linux, Nginx, MySQL/MariaDB und PHP-FPM) Stack auf deinem System installieren. In diesem Beispiel wirst du Matomo mit dem LAMP-Stack auf dem Debian-Server ausführen.

Führe zunächst den Befehl apt aus, um deinen Debian-Paketindex zu aktualisieren.

sudo apt update

Installiere nun die LAMP Stack (Linux, Apache, MySQL/MariaDB und PHP) Pakete mit dem folgenden Befehl:

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

Gib Y ein, um die Installation zu bestätigen.

deps installieren

Nachdem die Installation abgeschlossen ist, überprüfe den Status des MariaDB-Servers mit dem folgenden Befehl. Du wirst sehen, dass der MariaDB-Server den Status aktiv (läuft) und aktiviert hat.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

mariadb prüfen

Überprüfe nun den Status des Apache-Dienstes mit dem folgenden Befehl. In der folgenden Ausgabe kannst du sehen, dass der Apache-Webserver läuft.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Apache prüfen

Führe abschließend den Befehl php aus, um die PHP-Version zu überprüfen. Du wirst sehen, dass PHP 8.3 installiert ist.

php -v

php prüfen

PHP konfigurieren

Nach der Installation von LAMP Stack musst du die PHP-Installation konfigurieren, indem du die Datei php.ini bearbeitest und den Apache-Webserver neu startest.

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

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

Ändere die Standardkonfiguration wie folgt ab – Achte darauf, dass du die Optionen date.timezone und memory_limit mit deiner aktuellen Serverumgebung abgleichst.

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

Speichere die Datei und beende den Editor.

Führe nun den folgenden systemctl Befehl aus, um den Apache Webserver neu zu starten und deine Änderungen in PHP zu übernehmen.

sudo systemctl restart apache2

MariaDB-Server konfigurieren

In diesem Abschnitt sicherst du den MariaDB-Server und richtest das Root-Passwort für ihn ein. Dann erstellst du eine neue Datenbank und einen neuen Benutzer, der von Matomo verwendet wird.

Führe den folgenden Befehl mariadb-secure-installation aus, um MariaDB zu sichern und das Root-Passwort einzurichten.

sudo mariadb-secure-installation

Nun wirst du nach den folgenden Konfigurationen gefragt:

  • Lokale Authentifizierung auf unix_socket umstellen? Gib n ein.
  • Richte das neue MariaDB Root-Passwort ein. Bestätige mit y und gib dann das neue Kennwort für deinen MariaDB-Servereinsatz 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.

Als Nächstes führst du den Befehl mariadb aus, um dich am MariaDB-Server anzumelden. Gib dein Root-Passwort ein, wenn du danach gefragt wirst.

sudo mariadb -u root -p

Führe nun die folgenden Abfragen aus, um eine neue Datenbank und den Benutzer matomo mit dem Passwort p4ssword zu erstellen. Passe die Datenbankdetails unten an.

CREATE DATABASE matomo;
CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'p4ssword';
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 abschließend die folgende Abfrage aus, um den Benutzer matomo@localhost zu überprüfen und den MariaDB-Server zu verlassen. So wird sichergestellt, dass der Benutzer matomo@localhost auf die Datenbank matomo zugreifen kann.

SHOW GRANTS FOR matomo@localhost;
quit

db user prüfen

Herunterladen des Matomo-Quellcodes

Nachdem du nun PHP konfiguriert und eine Datenbank und einen Benutzer angelegt hast, kannst du Matomo installieren. Jetzt lädst du den Matomo-Quellcode herunter, richtest das Stammverzeichnis des Dokuments ein und änderst dann die Besitzverhältnisse mit dem richtigen Apache-Benutzer.

Gehe in das Verzeichnis /var/www und lade den Matomo-Quellcode mit dem unten stehenden Befehl wget herunter.

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

Nach dem Download führst du den Befehl unzip aus, um die Datei matomo.zip zu entpacken. Anschließend änderst du die Eigentümerschaft des Verzeichnisses /var/www/matomo auf den Benutzer www-data.

unzip matomo.zip
sudo chown -R www-data:www-data /var/www/matomo

Einrichten des virtuellen Apache-Hosts

Nachdem du Matomo heruntergeladen hast, musst du eine neue virtuelle Apache-Host-Datei für Matomo erstellen. Stelle also sicher, dass dein Domainname auf eine Server-IP-Adresse zeigt.

Erstelle eine neue Apache Virtual Host Datei /etc/apache2/sites-available/matomo.conf mit dem nano Editor.

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

Füge die unten stehende Konfiguration ein und stelle sicher, dass du die Option ServerName durch deinen Domainnamen ersetzt.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName matomo.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 beende sie, wenn du fertig bist.

Führe nun den unten stehenden Befehl a2ensite aus, um die Datei matomo.conf zu aktivieren. Führe dann den Befehl apachectl aus, um deine Apache-Konfiguration zu überprüfen. Wenn du die korrekte Apache-Syntax hast, siehst du eine Ausgabe Syntax is OK.

sudo a2ensite matomo.conf
sudo apachectl configtest

Zum Schluss führst du den Befehl systemctl aus, um den Apache-Webserver neu zu starten und deine Änderungen zu übernehmen. Sobald Apache neu gestartet wurde, ist deine Matomo-Installation fertig.

sudo systemctl restart apache2

Apache einrichten

Matomo mit HTTPS absichern

In diesem Abschnitt erstellst du SSL/TLS-Zertifikate und sicherst Matomo mit HTTPS über Certbot und Letsencrypt.

Installiere die Pakete certbot und python3-certbot-apache mit dem unten stehenden Befehl.

sudo apt install certbot python3-certbot-apache

Führe nun den Befehl certbot aus, um SSL-Zertifikate zu generieren und deinen Matomo-Domainnamen zu sichern. Achte darauf, dass du den Domainnamen und die E-Mail-Adresse mit deinen Daten änderst.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email admin@hwdomain.io -d matomo.hwdomain.io

Nachdem der Vorgang abgeschlossen ist, sind deine SSL-Zertifikate im Verzeichnis /etc/letsencrypt/live/donmain.com verfügbar. Außerdem ist deine Matomo-Installation mit HTTPS gesichert.

Installation von Matomo Web Analytics

Öffne deinen Webbrowser und rufe deine Matomo-Domain auf, z. B. https://matomo.hwdomain.io/. Wenn die Installation erfolgreich war, siehst du eine Willkommensnachricht wie die folgende:

Klicke auf Weiter, um die Installation zu bestätigen.

Willkommensnachricht

Vergewissere dich im Abschnitt Systemprüfung, dass dein System bereit ist, und klicke erneut auf Weiter.

Systemprüfung

Gib nun die Details ein, darunter den Namen der MariaDB-Datenbank, den Benutzer und das Passwort, und klicke dann auf Weiter, um die Datenbank zu migrieren.

Datenbank-Setup

Nach der Migration klickst du erneut auf Weiter.

Datenbankmigration

Gib einen neuen Administrator-Benutzernamen, eine E-Mail-Adresse und ein Passwort für Matomo Web Analytics ein.

Admin-Setup

Gib nun Informationen ein, um das erste Tracking mit Matomo zu erstellen und klicke auf Weiter.

erstes Tracking erstellen

Kopiere den generierten Tracking-Code und klicke auf Weiter.

Tracking-Code

Nachdem die Installation abgeschlossen ist, siehst du die folgenden Meldungen:

Installation abgeschlossen

Wenn du die Matomo-Homepage besuchst, wirst du zur Matomo-Login-Seite weitergeleitet. Gib deinen Admin-Benutzer und dein Passwort ein und klicke auf ANMELDEN.

einbuchend

Nach dem Einloggen siehst du das folgende Matomo-Administrations-Dashboard:

Dashboard

Fazit

Herzlichen Glückwunsch! Du hast die Installation von Matomo web analytics auf dem Debian 12 Server abgeschlossen. Matomo web analytics läuft mit dem Apache Webserver, dem MariaDB Datenbankserver und PHP 8.3. Außerdem sicherst du Matomo mit HTTPS über Certbot und Letsencrypt.

Das könnte dich auch interessieren …