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.
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
Ü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
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 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;
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
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
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.
Vergewissere dich im Abschnitt Systemprüfung, dass dein System bereit ist, und klicke erneut auf Weiter.
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.
Nach der Migration klickst du erneut auf Weiter.
Gib einen neuen Administrator-Benutzernamen, eine E-Mail-Adresse und ein Passwort für Matomo Web Analytics ein.
Gib nun Informationen ein, um das erste Tracking mit Matomo zu erstellen und klicke auf Weiter.
Kopiere den generierten Tracking-Code und klicke auf Weiter.
Nachdem die Installation abgeschlossen ist, siehst du die folgenden Meldungen:
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.
Nach dem Einloggen siehst du das folgende Matomo-Administrations-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.