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:
``bash sudo apt update sudo apt upgrade -y ``
- Installation der benötigten Pakete (Apache, MariaDB, PHP und Erweiterungen):
``bash 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:
``bash sudo systemctl enable --now apache2 sudo systemctl enable --now mariadb ``
- (Optional, aber empfehlenswert) MariaDB sichern:
``bash sudo mysql_secure_installation ``
Hier 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:
``sql sudo mysql -u root -p ``
Innerhalb der MySQL/MariaDB-Shell:
``sql 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:
``bash 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:
``bash 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.:
``bash sudo nano /etc/apache2/sites-available/matomo.conf ``
Ein Beispielinhalt:
```apache
ErrorLog ${APACHE_LOG_DIR}/matomo_error.log CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined ```
Ein paar Hinweise:
AllowOverride Allerlaubt.htaccess-Dateien, wichtig für manche Matomo-Funktionen.- Die Direktive
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:
``bash sudo a2dissite 000-default.conf sudo a2ensite matomo.conf ``
Aktiviere das Apache-Modul rewrite, falls noch nicht aktiv:
``bash sudo a2enmod rewrite ``
Dann Apache neu starten:
``bash 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:
``bash sudo apt install snapd sudo snap install core sudo snap refresh core ``
- Installiere Certbot:
``bash sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot ``
- Führe Certbot mit Apache-Plugin aus:
``bash sudo certbot --apache ``
Folge den Anweisungen, um ein Zertifikat für analytics.deine-domain.tld zu 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.