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.