Update am 10.1.2014: Bereich bzgl. cron-Job überarbeitet
Piwik installieren
Das dürfte wohl kein Problem sein und hat sangyye schon mal beschrieben …
mkdir -p tmp && cd tmp
wget http://piwik.org/latest.zip
unzip latest.zip
Danach das Verzeichnis “piwik” dahin schieben, wohin man es denn haben möchte. Alternativ kann man das alles natürlich auch lokal machen und dann mit einem (s)FTP-Programm hochladen.
automatische Archivierung und Erzeugung der Berichte per cron
Diesen Schritt muss man zwar nicht unbedingt machen, es wird aber für stärker frequentierte Seiten empfohlen, da dadurch die Auswertung der Berichte schneller läuft.
Erstmal muss man in den Einstellungen von Piwik unter “Allgemeine Einstellungen” den Punkt
Piwik erlauben, die Archivierung zu starten, wenn Berichte im Browser angezeigt werden.
auf Nein stellen, damit die Berichte nicht mehr im Browser generiert werden.
Beim Punkt
Berichte für heute (sowie jeden anderen Zeitraum, die den heutigen Tag beinhalten) höchstens so oft neu berechnen:
muss man für sich selbst überlegen, welcher Zeitraum wirklich sinnvoll/nötig ist und ob der Server dabei nicht zu sehr überlastet wird.
Danach geht der Spaß in der Shell los und man fängt mit der Bearbeitung der Crontab an. Diese wird (eh klar) mit crontab -e
aufgerufen und dann mit dem folgenden cron ergänzt:
PATH=/package/host/localhost/php-5/bin:/bin:/usr/bin
PHPRC=/home/UberspaceUser/etc
MAILTO="mail@example.org"
*/5 * * * * php /var/www/virtual/UberspaceUser/sub.example.org/piwik/misc/cron/archive.php --url=http://sub.example.org/ >/home/UberspaceUser/piwik-archive.log
Hinweis zur letzten Zeile: Ab einer Version (keine Ahnung welche genau) wurde das Archivierungs-Skript verschoben/geändert, man muss daher die Zeile wie folgt ändern:
*/5 * * * * php /var/www/virtual/UberspaceUser/sub.example.org/piwik/console core:archive --url=http://sub.example.org/ >/home/UberspaceUser/piwik-archive.log
- Die ersten beiden Zeilen sind (soweit ich lesen konnte) erforderlich, um PHP5 für das Script zu verwenden. Es muss natürlich der eigene Uberspace-Username eingetragen werden.
- MAILTO wird verwendet, damit man bei Fehlern eine E-Mail bekommt. Die E-Mail-Adresse ist natürlich anzupassen.
- Mit der letzten Zeile wird das archive-Script alle 5 Minuten für die benannte Seite angestoßen und ein Ausgabe-Log im Home-Verzeichnis erzeugt. Kann natürlich auch nach /dev/nul gehen, wenn man das nicht braucht. Der Uberspace-Username und die Homepage sind hier natürlich ebenfalls anzupassen.
Danach dann einfach alles speichern und den Editor beenden.
Am Anfang bietet es sich an, die Log-Datei mit tail -f ~/piwik-archive.log
zu überwachen, ob der cron korrekt ausgeführt wird.
Das dürfte es dann aber auch schon gewesen sein.
Komprimierung (gzip) aktivieren
Damit die Datenübertragung (speziell das Tracking-Javascript piwik.js) vom Server zum Browser schneller läuft, sollte/kann man sich im Hauptverzeichnis von Piwik noch eine .htaccess mit folgendem Inhalt anlegen, damit die serverseitige Komprimierung benutzt wird:
# rules for gzip-compression
<IfModule mod_deflate.c>
# html, txt, css, js, json, xml, htc:
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
<FilesMatch "\.(ttf|otf|eot|svg)$" >
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
weiterführende Links
Piwik-Hilfe zu Auto-Archivierung
Uberspace-Wiki zu cron
Uberspace-Wiki zu PHP in cron