- Veröffentlicht am
- • How2-Host
Matomo auf Debian 13 installieren – vollständige Schritt-für-Schritt-Anleitung
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-
1. Einleitung & Vorbereitung
Matomo (früher Piwik) ist eine Open-Source Web-Analyseplattform, mit der du vollständig die Kontrolle über deine Daten behältst (On-Premise). ([Analytics Platform - Matomo][1])
Bevor du mit der Installation beginnst, solltest du sicherstellen, dass dein Server die grundlegenden Anforderungen erfüllt und du Zugang mit ausreichenden Rechten (idealerweise root oder sudo) hast.
1.1 Systemanforderungen & Abhängigkeiten
Laut offizieller Dokumentation benötigt Matomo:
- Einen Webserver (Apache, Nginx, etc.) ([Analytics Platform - Matomo][2])
- PHP-Version mindestens 7.2.5 (oder PHP 8.x wird empfohlen) ([Analytics Platform - Matomo][2])
- MySQL oder MariaDB (Version ≥ 5.5) ([Analytics Platform - Matomo][2])
- PHP-Erweiterungen wie
pdo,pdo_mysqlodermysqli([Analytics Platform - Matomo][2]) - Weitere PHP-Module, z. B.
php-curl,php-gd,php-mbstring,php-xml,php-zip(für einige Funktionen wie Berichte und Graphen) ([Analytics Platform - Matomo][2])
Darüber hinaus empfiehlt Matomo für mittleren bis hohen Traffic automatisches Archivieren der Reports via Cron (um die Performance zu verbessern). ([Analytics Platform - Matomo][3])
2. Schritt-für-Schritt-Anleitung: Matomo auf Debian 13 installieren
Ich zeige dir hier eine typische Variante mit dem LAMP-Stack (Apache, MariaDB, PHP). Du kannst natürlich auch Nginx nutzen, wenn du das bevorzugst — die Konfiguration unterscheidet sich dann etwas.
2.1 Systempakete updaten & LAMP-Grundlage packen
Zunächst das System aktualisieren:
sudo apt update sudo apt upgrade -yInstallation der benötigten Pakete (Apache, MariaDB, PHP und Erweiterungen):
sudo apt install -y apache2 mariadb-server \ php php-cli libapache2-mod-php \ php-mysql php-curl php-gd php-mbstring php-xml php-zip wget unzip(Falls eine neuere PHP-Version in Debian 13 verfügbar ist, kannst du diese verwenden.)
Sicherstellen, dass Apache und MariaDB starten und aktiviert sind:
sudo systemctl enable --now apache2 sudo systemctl enable --now mariadb(Optional, aber empfehlenswert) MariaDB sichern:
sudo mysql_secure_installationHier kannst du z. B. root-Passwort setzen, anonyme Accounts deaktivieren, Testdatenbank entfernen usw.
2.2 Datenbank & Benutzer anlegen
Matomo benötigt eine eigene Datenbank und einen Benutzer mit ausreichenden Rechten:
sudo mysql -u root -p
Innerhalb der MySQL/MariaDB-Shell:
CREATE DATABASE matomo_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'matomo_user'@'localhost' IDENTIFIED BY 'SicheresPasswortHier';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER,
CREATE TEMPORARY TABLES, LOCK TABLES ON matomo_db.*
TO 'matomo_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Wichtig: Der Benutzer braucht Rechte wie CREATE, ALTER, INDEX, DROP, LOCK TABLES etc. ([Analytics Platform - Matomo][2])
2.3 Herunterladen & Entpacken von Matomo
Wechsle ins Web-Verzeichnis und lade Matomo herunter:
cd /var/www/
sudo wget https://builds.matomo.org/matomo.zip
sudo unzip matomo.zip
sudo rm matomo.zip
Dadurch wird ein Verzeichnis /var/www/matomo erstellt.
2.4 Dateirechte & Eigentümer setzen
Damit der Webserver korrekt auf Dateien zugreifen und nötige Dateien beschreiben kann:
sudo chown -R www-data:www-data /var/www/matomo
sudo find /var/www/matomo -type d -exec chmod 750 {} \;
sudo find /var/www/matomo -type f -exec chmod 640 {} \;
Diese Rechte sorgen dafür, dass Verzeichnisse ausführbar/lesbar und Dateien nur lesbar sind (außer wo notwendig) — das ist bessere Sicherheitspraxis.
2.5 Konfiguration von Apache (VirtualHost)
Erstelle eine neue Apache-Konfigurationsdatei, z. B.:
sudo nano /etc/apache2/sites-available/matomo.conf
Ein Beispielinhalt:
<VirtualHost *:80>
ServerName analytics.deine-domain.tld
ServerAlias www.analytics.deine-domain.tld
DocumentRoot /var/www/matomo
<Directory /var/www/matomo>
DirectoryIndex index.php
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Files "console">
Require all denied
</Files>
<Directory /var/www/matomo/misc/user>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/matomo_error.log
CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined
</VirtualHost>
Ein paar Hinweise:
AllowOverride Allerlaubt.htaccess-Dateien, wichtig für manche Matomo-Funktionen.- Die Direktive
<Files "console">schränkt den Zugriff auf das Matomo-Konsolen-Skript ein. - Achte darauf,
ServerNameund ggf.ServerAliasdurch deine Domain zu ersetzen.
Aktiviere diese Konfiguration und deaktiviere ggf. die Standardseite:
sudo a2dissite 000-default.conf
sudo a2ensite matomo.conf
Aktiviere das Apache-Modul rewrite, falls noch nicht aktiv:
sudo a2enmod rewrite
Dann Apache neu starten:
sudo systemctl restart apache2
2.6 SSL (Let’s Encrypt) einrichten
Um HTTPS zu ermöglichen, kannst du Let’s Encrypt verwenden:
Installiere
snapd, falls noch nicht vorhanden:sudo apt install snapd sudo snap install core sudo snap refresh coreInstalliere Certbot:
sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbotFühre Certbot mit Apache-Plugin aus:
sudo certbot --apacheFolge den Anweisungen, um ein Zertifikat für
analytics.deine-domain.tldzu erhalten und automatisch HTTPS zu konfigurieren.
Alternativ kannst du auch die Webroot- oder andere Methoden nutzen, je nach Setup.
2.7 Web-Installer ausführen
Jetzt rufst du deine Domain (z. B. https://analytics.deine-domain.tld) im Browser auf. Der Matomo-Installer führt dich durch folgende Schritte:
- Willkommensseite / Systemprüfung – Matomo prüft, ob alle Anforderungen erfüllt sind.
- Datenbankverbindung – hier gibst du
matomo_db,matomo_userund dein Passwort ein. - Superuser-Konto anlegen – Name, E-Mail, Passwort
- Erste Website hinzufügen – Domain, Name, Zeitzone
- Tracking-Code einfügen – du bekommst JS-Code, den du auf den zu trackenden Seiten einfügst
Wenn alles erfolgreich ist, ist Matomo installiert und einsatzbereit. ([Analytics Platform - Matomo][3])
2.8 Cronjob / automatisches Archivieren
Damit Matomo nicht bei jedem Besuch alle Reports neu berechnet (was bei größerem Traffic sehr langsam wird), solltest du ein Cron-Skript einrichten, das regelmäßig die Archivierung übernimmt. ([Analytics Platform - Matomo][3])
Beispiel (möglich in /etc/cron.d/matomo) :
*/5 * * * * www-data /usr/bin/php /var/www/matomo/console core:archive --url=https://analytics.deine-domain.tld > /dev/null
Dieser Job führt alle 5 Minuten das Archivieren durch. Passe gegebenenfalls die Häufigkeit an deine Last an.
3. Sicherheit & Performance-Tipps
Damit dein Matomo-Setup robust und performant bleibt, hier einige Empfehlungen:
- Regelmäßige Backups: sowohl der Datenbank als auch des Dateiordners
matomo/. - Updates einspielen: Halte Matomo, Plugins und das System aktuell.
- HTTPS erzwingen (Redirect von HTTP zu HTTPS).
- IP-Zugriff einschränken auf das Admin-Interface oder Whitelists, wenn möglich.
- Firewall verwenden (z. B. ufw), nur Ports 80/443 offen.
- PHP-Einstellungen optimieren, z. B.
memory_limit,max_execution_time. - Caching aktivieren (z. B. OPcache), Nutzung von CDN oder Reverse Proxy bei hohem Traffic.
- Logs analysieren (Slow Queries, Apache Logs) und ggf. Datenbankoptimierung durchführen.
- Matomo-Systemdiagnose verwenden, um Warnungen oder fehlende Erweiterungen zu erkennen.
4. Mögliche Stolperfallen & Troubleshooting
| Problem | Mögliche Ursache / Lösung |
|---|---|
| Systemprüfung im Installer schlägt fehl | Fehlende PHP-Erweiterungen oder falsche Rechte / Ownership |
| Datenbankverbindung nicht möglich | Falsche Zugangsdaten, Benutzerrechte, Firewall blockiert |
| Keine Reports sichtbar / sehr langsam | Cronjob nicht eingerichtet, Archivierung nicht erfolgen |
| Fehlermeldungen bei Plugins / Updates | unvollständige Schreibrechte oder inkompatible PHP-Version |
| HTTPS / Zertifikatfehler | DNS noch nicht propagiert, Zertifikat fehlgeschlagen, Konfigurationsfehler in Apache |
Wenn du auf eine konkrete Fehlermeldung stößt, sag mir gern Bescheid — ich helfe dir beim Debuggen.
5. Zusammenfassung & Ausblick
In diesem Artikel habe ich dir gezeigt, wie du Matomo auf einem Debian 13-Server installierst – von der Vorbereitung über Datenbank, Webserver- und SSL-Konfiguration bis zur Inbetriebnahme und Performanceoptimierung.