Tobias Scheible Cyber Security & IT-Forensik Dozent
Umzug einer Piwik-Installation

Piwik unterbrechungsfrei umziehen

Möchte man eine Piwik-Installation auf einen neuen Server umziehen, die für mehrere Websites eine Statistik erstellt, sollten dabei natürlich möglichst wenige Besucher „verpasset“ werden. Da ich vor kurzem so einen Fall hatte, habe ich diese Anleitung erstellt, wie ihr Piwik in 6 Schritten quasi unterbrechungsfrei umziehen könnt.

Dienstag, 28. Januar 2014
10 Kommentare
Freie OpenSource Statistik-Software
Piwik 2.0 Benutzeroberfläche
Open Web Analytics Neue Benutzeroberfläche von Piwik 2.0

Piwik ist eine mächtige OpenSource Statistiksoftware, welche Besucher und Seitenaufrufe einer Website erfassen kann. Kürzlich wurde Piwik mit einer neuen Optik und zahlreichen Verbesserungen auf die Version 2.0 aktualisiert. Zieht man Piwik komplett mit einer Domain auf einen neunen Server, ist die Aktualisierung der DNS-Einstellungen meist ein Problem. Denn diese werden an verschiedenen Stellen (z.B. ISP, Router, Betriebssystem) zwischengespeichert und meist erst nach mehreren Stunden aktualisiert. In dieser Zeit landen die Besucher, wenn die DNS-Einstellungen zwischengespeichert sind, auf dem alten Server und die anderen Besucher auf dem neuen. Was bedeutet, dass bis zu 24 Stunden die Zahlen von Piwik nicht korrekt sind.

Um dies zu vermeiden, ziehe ich Piwik auf eine neue Subdomain um und richte eine Weiterleitung im Ordner der alten Installation ein. Das hat den Vorteil, dass die Unterbrechung sehr gering ist, da der Umzug unabhängig von den DNS-Einstellungen ist und der Piwik-Tracking-Code nicht überall angepasst werden muss. Nachdem die ursprüngliche Domain umgezogen ist, kann dann der ursprüngliche Pfad auch wieder verwendet werden.

Wie immer gilt für solche Anleitungen, dass vorher immer ein Backup erstellt werden sollte und die Schritte nur durchgeführt werden sollten, wenn ihr das notwendige Know-how habt und somit versteht, was ihr verändert. Die verschiedenen Angaben und Befehle können sich natürlich je nach System und Installation unterscheiden. In meinem Beispiel liegt Piwik auf dem alten Server unter example.com/piwik und wird auf dem neuen Server unter piwik.exmaple.com eingerichtet.

1. Piwik-Daten vom alten auf den neuen Server kopieren

Einfach den kompletten Piwik-Ordner per (S)FTP herunterladen und in das Subdomain-Verzeichnis auf den neuen Server kopieren. Wer mehr Erfahrung hat, kopiert per SSH mit SCP die Daten direkt von Server zu Server.

2. Datenbank auf dem neuen Server anlegen

Als Nächstes muss auf dem neuen Server eine neue Datenbank angelegt werden. Dies geschieht bei einem gemieteten Webspace üblicherweise über die Verwaltungsoberfläche euers Anbieters.

3. Anpassen der Piwik-Konfigurationsdatei config.ini.php

Die neue Daten für die Datenbank müssen nun in die Datei „config.php“ im Ordner „config“ eingetragen werden. Piwik hat noch einen Sicherheitsmechanismus und überprüft die Domain, auf die es ausgeführt wird. Stimmt diese nicht mit der Domain in der Konfigurationsdatei überein, erscheint eine Fehlermeldung. Daher muss noch die neue Subdomain piwik.example.com hinzugefügt werden.

host = "SERVER"
username = "BENUTZER"
password = "PASSWORT"
dbname = "DATENBANK"
trusted_hosts[] = "example.com"
trusted_hosts[] = "piwik.exmaple.com"

4. Backup der MySQL-Datenbank auf dem alten Server

Jetzt kommen wir zum eigentlichen Umzug der Tracking-Daten. Dazu muss auf dem alten Server ein Backup der Piwik-Datenbank erstellt und herunter geladen werden. Am einfachsten funktioniert dies über das Tool PHPMyAdmin. Je nach Größe der Datenbank kann dies schon einen Moment dauern. Alternativ kann auch hier per SSH mit MYSQLDUMP das Backup erstell werden:

mysqldump -uBENUTZER –pPASSWORT DATENBANKALT > piwik.sql

und gleich per SCP auf den neuen Server kopiert werden:

scp piwik.sql BENUTZERSERVER@piwik.exmaple.com:/tmp/piwik.sql

5. Einspielen des MySQL-Backups auf den neuen Server

Auf dem neuen Server kann nun mit PHPMyAdmin das herunter geladene Backup in die neue Datenbank importiert werden. Oder wieder per SSH mit MYSQL auf dem neuen Server das kopierte Backup importieren:

mysql -uBENUTZER -pPASSWORT DATENBANKNEU < /tmp/piwik.sql

Nun sollte Piwik auf dem neuen Server funktionieren. Das kann einfach getestet werden, indem ihr euch kurz beim Piwik-Backend anmeldet.

6. Einrichten der Umleitung auf dem alten Server

Zum Schluss muss noch eine Weiterleitung eingerichtet werden, damit der Tracking-Code von der neuen Piwik-Version geladen wird. Geht dazu auf den alten Server in das Piwik Verzeichnis und löscht alle Dateien und Unterordner und fügt eine .htaccess-Datei mit dem folgenden „Mod-Rewrite“ Befehl ein:

RewriteEngine On
RewriteRule ^(.*)$ http://piwik.exmaple.com/$1

Mit diesem Befehl werden alle Anfragen von „example.com/piwik“ zu „piwik.example.com“ umgeleitet. Und somit wird ab diesem Zeitpunkt die Piwik-Installation auf dem neuen Server verwendet.

Fazit Piwik-Umzug

Mit dieser Methode existiert die Unterbrechung nur zwischen dem Zeitpunkt des Datenbank Backups und der Einrichtung der Weiterleitung. Je nach Datenbankgröße und Technik sollten die Unterbrechungen nur zwischen 5 und 10 Minuten liegen. Noch schneller würde es gehen, wenn die Schritte für den Umzug der Datenbank per Script komplett automatisiert werden. Eine andere Alternative wäre der Abgleich der beiden Datenbanken miteinander, um so die entstandenen Einträge während des Umzugs zu ergänzen.

Über Tobias Scheible

Tobias Scheible

Hallo, mein Name ist Tobias Scheible. Ich bin begeisterter Informatiker und Sicherheitsforscher mit den Schwerpunkten Cyber Security und IT-Forensik. Mein Wissen teile ich gerne anhand von Fachartikeln hier in meinem Blog und in meinem Fachbuch. Als Referent halte ich Vorträge und Workshops für Verbände und Unternehmen u. a. auch offene Veranstaltungen für den VDI und die IHK.

Kommentare

Ben am 31. Januar 2014 um 16:24 Uhr

Hi,

hab schon einiges über das Programm gehört, aber ich bin mir ned sicher ob ich die Daten auch für nützlich ersehen werde.

Werd es aufjedenfall mal testen.

Henry am 4. Februar 2014 um 09:35 Uhr

Ich hatte früher auch mal Piwik auf meiner Seite. Allerdings verkraftete dies mein Webspace nicht. So bin ich wieder bei google analytics gelandet. Das schont meinen Webspace und ich muss mich nicht um updates kümmern.

dedicated server Internex am 4. Februar 2014 um 13:18 Uhr

Wenn das beobachtet Objekt nicht allzu groß ist, dann denke ich sind diese 5 – 10 Minuten verkraftbar. Einzeln abgleichen stelle ich mir dann doch sehr aufwendig vor, vor allem wenn in kurzer Zeit viel Traffic entsteht. Gerade bei größeren Projekten. Aber auf alle Fälle bin ich sehr dankbar für die einfach Beschreibung, habe mich in letzter Zeit schon des öfteren gefragt wie ich das am besten und vor allem auch schnell über die Bühne bekomme. Denn wenn man selbst herumspielt, kann es schon mal etwas länger dauern, da ist man für jedes einfache Tutorial sehr dankbar.
MfG

Peter am 5. Februar 2014 um 11:37 Uhr

Danke für den Tipp und die Erklärung. Ist schon ganz gut wenn man das schnell und reibungslos über die Bühne bringt.

Yvonne am 7. Februar 2014 um 16:03 Uhr

Hey,
danke für die erstklassige Anleitung.
So hab selbst ich (bei soetwas tu ich mich eigentlich immer schwer),
das ganze in kurzer Zeit geschafft.
Gut finde ich auch die CodeErklärungen für die ini Datein, das hätte ich allein nie geschafft!
Danke 🙂

Yvonne

Neue Artikelserie: Optimales Tracking mit Piwik › Web Development Blog am 30. März 2014 um 10:53 Uhr

[…] beliebte OpenSource Web-Statistik Tool Piwik mit einer möglichst geringen Unterbrechung auf einen neuen Server umgezogen werden kann und welche Neuerungen die Version 2.0 von Piwik gebracht hat. In dieser Artikelserie […]

Robert am 3. April 2014 um 15:10 Uhr

Der Artikel gibt auf jeden Fall Lust sich mit Piwik zu beschäftigen, bisher habe ich wegen des Aufwands und das Reindenken davor gescheut. Danke.

Migration zu NetCup – Project Medlan am 6. September 2017 um 10:55 Uhr

[…] Anleitungen gibt es hier: Piwik: https://scheible.it/piwik-unterbrechungsfrei-umziehen/ WordPress: […]

Christian Barra am 24. Mai 2018 um 14:31 Uhr

Vielen Dank für diese nützliche Anleitung!

Schreibe einen Kommentar!

Hilfe zum Kommentieren und Hiweise

Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen, eine Gefährdung anderer Besucher darstellen oder keinen sinvollen Inhalt beinhalten, werden gelöscht oder angepasst.

Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und damit ich direkt Kontakt aufnehmen kann. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>

Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzhinweis des Blogs.