How2-Host

Matomo auf Debian 13 installieren – vollständige Schritt-für-Schritt-Anleitung

So installierst du Matomo auf Debian 13: von Systemanforderungen über Datenbank, Apache & SSL bis zur sicheren Konfiguration und Performance-Tipps.

1 min Lesezeit
Matomo auf Debian 13 installieren – vollständige Schritt-für-Schritt-Anleitung

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_mysql oder mysqli ([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

  1. Zunächst das System aktualisieren:

``bash sudo apt update sudo apt upgrade -y ``

  1. 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.)

  1. Sicherstellen, dass Apache und MariaDB starten und aktiviert sind:

``bash sudo systemctl enable --now apache2 sudo systemctl enable --now mariadb ``

  1. (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 ServerName analytics.deine-domain.tld ServerAlias www.analytics.deine-domain.tld DocumentRoot /var/www/matomo

DirectoryIndex index.php Options FollowSymLinks AllowOverride All Require all granted

Require all denied

Require all granted

ErrorLog ${APACHE_LOG_DIR}/matomo_error.log CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined ```

Ein paar Hinweise:

  • AllowOverride All erlaubt .htaccess-Dateien, wichtig für manche Matomo-Funktionen.
  • Die Direktive schränkt den Zugriff auf das Matomo-Konsolen-Skript ein.
  • Achte darauf, ServerName und ggf. ServerAlias durch 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:

  1. Installiere snapd, falls noch nicht vorhanden:

``bash sudo apt install snapd sudo snap install core sudo snap refresh core ``

  1. Installiere Certbot:

``bash sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot ``

  1. 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:

  1. Willkommensseite / Systemprüfung – Matomo prüft, ob alle Anforderungen erfüllt sind.
  2. Datenbankverbindung – hier gibst du matomo_db, matomo_user und dein Passwort ein.
  3. Superuser-Konto anlegen – Name, E-Mail, Passwort
  4. Erste Website hinzufügen – Domain, Name, Zeitzone
  5. 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.