Linux Self-Hosted Analytics

Matomo von Ubuntu 22.04 auf Debian 13 umziehen – Schritt für Schritt zur erfolgreichen Migration

Matomo gehört zu den beliebtesten Open-Source-Webanalyseplattformen und wird von vielen Unternehmen, Behörden und Webseitenbetreibern als datenschutzfreundliche Alternative zu Google Analytics eingesetzt. Früher oder später steht jedoch bei vielen Administratoren ein Serverwechsel an – beispielsweise von einem Ubuntu-22.04-System auf einen aktuellen Debian-13-Server.

4 min Lesezeit
Grafik: Matomo erfolgreich von Ubuntu auf Debian 13 umziehen

Die gute Nachricht: Ein Matomo-Umzug ist deutlich einfacher als bei vielen anderen Webanwendungen. Im Wesentlichen müssen lediglich die Anwendungsdateien, die Datenbank sowie die Webserver-Konfiguration auf den neuen Server übertragen werden.

In diesem Artikel zeige ich Schritt für Schritt, wie Sie eine bestehende Matomo-Installation sicher und nahezu ohne Ausfallzeit von Ubuntu 22.04 auf Debian 13 migrieren.

Voraussetzungen

Für die Migration benötigen Sie:

  • Zugriff auf den alten Ubuntu-Server
  • Root- oder Sudo-Rechte auf beiden Systemen
  • Einen vorbereiteten Debian-13-Server
  • Ausreichend Speicherplatz für Datenbank und Dateien
  • SSH-Zugang zwischen beiden Servern

Idealerweise planen Sie den Umzug außerhalb der Hauptnutzungszeiten Ihrer Webseite.


Vorbereitungen auf dem alten Server

Bevor Sie mit der eigentlichen Migration beginnen, sollten Sie die aktuell eingesetzten Versionen dokumentieren.

Prüfen Sie zunächst die installierten Versionen:

php -v
mysql --version

Anschließend kontrollieren Sie die installierte Matomo-Version:

cat /var/www/matomo/core/Version.php | grep VERSION

Notieren Sie sich die Versionsnummern. Diese Informationen helfen später bei der Fehlersuche und Kompatibilitätsprüfung.


Debian 13 vorbereiten

Aktualisieren Sie zunächst das Betriebssystem:

apt update
apt upgrade -y

Anschließend installieren Sie den Webserver Apache:

apt install apache2 -y

Den Dienst aktivieren und starten:

systemctl enable apache2
systemctl start apache2

PHP installieren

Aktuelle Matomo-Versionen benötigen PHP 8.2 oder neuer. Debian 13 liefert standardmäßig eine aktuelle PHP-Version mit.

Installieren Sie die benötigten Erweiterungen:

apt install php php-cli php-fpm php-mysql php-gd php-curl \
php-xml php-mbstring php-zip php-intl php-bcmath \
php-opcache php-ldap php-imagick unzip wget curl -y

Kontrollieren Sie anschließend die Installation:

php -m

MariaDB installieren

Matomo unterstützt sowohl MySQL als auch MariaDB. Für neue Installationen empfiehlt sich MariaDB.

Installation:

apt install mariadb-server mariadb-client -y

Dienst aktivieren:

systemctl enable mariadb
systemctl start mariadb

Danach sollte die Datenbank abgesichert werden:

mariadb_secure_installation

Hier empfiehlt es sich insbesondere:

  • Root-Passwort setzen
  • Anonyme Benutzer entfernen
  • Testdatenbank löschen
  • Remote-Root-Login deaktivieren

Datenbank auf dem alten Server sichern

Die eigentlichen Tracking-Daten befinden sich vollständig in der Datenbank.

Erstellen Sie einen Dump:

mysqldump \
-u root \
-p \
--single-transaction \
--routines \
--triggers \
matomo > matomo.sql

Je nach Datenmenge kann dieser Vorgang einige Minuten dauern.


Matomo-Dateien sichern

Zusätzlich müssen sämtliche Programmdateien übertragen werden.

Erstellen Sie dazu ein Archiv:

tar czf matomo-files.tar.gz /var/www/matomo

Dadurch werden sämtliche Plugins, Konfigurationen und Uploads gesichert.


Daten auf den neuen Server übertragen

Kopieren Sie beide Dateien auf den neuen Debian-Server:

scp matomo.sql root@NEUER_SERVER:/root/
scp matomo-files.tar.gz root@NEUER_SERVER:/root/

Alternativ kann auch rsync verwendet werden.


Datenbank auf Debian anlegen

Melden Sie sich an MariaDB an:

mysql -u root -p

Erstellen Sie die Datenbank:

CREATE DATABASE matomo
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

Benutzer anlegen:

CREATE USER 'matomo'@'localhost'
IDENTIFIED BY 'SEHR_STARKES_PASSWORT';

Berechtigungen vergeben:

GRANT ALL PRIVILEGES
ON matomo.*
TO 'matomo'@'localhost';
FLUSH PRIVILEGES;

Datenbank importieren

Importieren Sie nun den zuvor erstellten Dump:

mysql -u root -p matomo < /root/matomo.sql

Anschließend können Sie die Tabellen kontrollieren:

mysql -u root -p
USE matomo;
SHOW TABLES;

Wenn die Tabellen angezeigt werden, war der Import erfolgreich.


Matomo-Dateien wiederherstellen

Entpacken Sie das Archiv:

tar xzf /root/matomo-files.tar.gz -C /

Danach setzen Sie die korrekten Dateirechte:

chown -R www-data:www-data /var/www/matomo
find /var/www/matomo -type d -exec chmod 755 {} \;
find /var/www/matomo -type f -exec chmod 644 {} \;

Konfiguration prüfen

Öffnen Sie die Datei:

nano /var/www/matomo/config/config.ini.php

Kontrollieren Sie insbesondere den Datenbankabschnitt:

[database]
host = "localhost"
username = "matomo"
password = "IhrPasswort"
dbname = "matomo"

Falls sich Zugangsdaten geändert haben, müssen diese angepasst werden.


Apache konfigurieren

Erstellen Sie einen VirtualHost:

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

Beispiel:

<VirtualHost *:80>
    ServerName analytics.example.com

    DocumentRoot /var/www/matomo

    <Directory /var/www/matomo>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Aktivieren:

a2ensite matomo.conf
a2enmod rewrite headers expires
systemctl restart apache2

HTTPS aktivieren

Installieren Sie Certbot:

apt install certbot python3-certbot-apache -y

Zertifikat erstellen:

certbot --apache

Folgen Sie anschließend dem Assistenten.


Matomo überprüfen

Matomo bringt ein eigenes Diagnosewerkzeug mit:

sudo -u www-data php /var/www/matomo/console diagnostics:run

Das Tool erkennt viele typische Fehler automatisch.


Archivierungsprozess testen

Die Archivierung ist entscheidend für die Auswertung größerer Webseiten.

Testlauf:

sudo -u www-data php /var/www/matomo/console core:archive

Treten keine Fehler auf, funktioniert die Installation.


Cronjob übernehmen

Viele Installationen verwenden bereits einen Archivierungsjob.

Kontrollieren Sie die alte Konfiguration:

crontab -l

Typischer Eintrag:

5 * * * * php /var/www/matomo/console core:archive

Übernehmen Sie diesen Cronjob auf dem neuen Server.


DNS umstellen

Nachdem alle Tests erfolgreich abgeschlossen wurden, kann die Domain auf die neue Server-IP zeigen.

Empfehlenswert ist eine reduzierte TTL einige Stunden vor der Umstellung.


Abschließende Kontrolle

Vor der Abschaltung des alten Servers sollten Sie prüfen:

  • Funktioniert der Login?
  • Sind alle Webseiten vorhanden?
  • Werden Besucher korrekt erfasst?
  • Läuft die Archivierung?
  • Funktionieren installierte Plugins?
  • Ist HTTPS aktiv?
  • Werden neue Daten gespeichert?

Fazit

Die Migration von Matomo von Ubuntu 22.04 auf Debian 13 ist mit überschaubarem Aufwand möglich. Da Matomo nahezu alle relevanten Informationen in der Datenbank speichert und die Anwendung selbst weitgehend aus PHP-Dateien besteht, lässt sich der Umzug meist innerhalb weniger Minuten durchführen.

Wer sorgfältig vorgeht, die Datenbank sauber exportiert und vor der DNS-Umstellung alle Funktionen testet, kann die Migration nahezu ohne Ausfallzeit durchführen. Gerade bei produktiven Webseiten empfiehlt es sich, den alten Server noch einige Tage als Backup bereitzuhalten, bis die neue Installation stabil läuft.

Zusätzlich empfehle ich für den Blog noch ein passendes Titelbild mit einem modernen Server-Migrationsmotiv (Ubuntu → Debian, Datenübertragung, Analyse-Dashboard, Matomo-Statistiken) im 16:9-Format ohne Text.