toscho.design

Piwik: Überblick und Installation

Mein Professor für politische Philosophie, Prof. Dr. Richard Saage, hat mir immer eingetrichtert: Die Quelle zählt! Sekundärliteratur ist keine Primärlektüre.
Das sitzt noch heute.

Wenn ich also etwas über meine Leser erfahren möchte, dann frage ich euch, und ich sehe in meine Logfiles. Wie sonst soll ich erfahren, daß halbtransparente Tooltips nichts taugen oder manch kaputter Feedreader 20 Requests in 12 Sekunden absetzt?

Dennoch mag ich auch die grobe Übersicht, wie sie beispielsweise Webalizer anbietet. Leider wirkt die trotz meiner heftig angepaßten Konfiguration manchmal zu grob, und sie sieht auch … dämlich aus.

An diesem Punkt steigen viele Webentwickler auf Dienste wie Google Analytics oder Woopra um. Ich nicht.

Solche Dienste sind in Deutschland sehr wahrscheinlich illegal. Und wären sie es nicht, verzichtete ich dennoch darauf: Ich möchte eure Daten nicht irgendwelchen Unternehmen anvertrauen, die sie vielleicht verkaufen oder anderweitig nutzen. In dieser Hinsicht bin ich überwach.

Heute bin ich auf Piwik gestoßen. Eine OpenSource-Software zur Datenaufbereitung, ähnlich den oben genannten Diensten. Der große Unterschied: Piwik läuft auf meinem Server. Niemand sonst erhält die Daten, und ich entscheide, wie lange ich sie aufheben will. IP-Adressen werden nicht ausgewertet, soweit ich das jetzt sehe, und das Cookie könnt ihr jederzeit löschen oder ganz unterbinden.

Die Installation ist denkbar einfach: Man legt eine Datenbank an, lädt die Dateien hoch und wird dann durch die sieben Einzelschritte geführt. Ich habe dafür die Subdomain p.toscho.de angelegt, damit ihr das Cookie, das Script oder einfach die ganze Subdomain einfach blockieren könnt, ohne auf den Komfort der automatisch befüllten Kommentarformulare zu verzichten.

Ein bißchen eklig finde ich, daß man für das Verzeichnis /tmp die Rechte auf 777 setzen muß. Das bedeutet, daß jeder da hineinschreiben darf.
Ich habe deshalb eine .htaccess dort abgelegt, in der schlicht dieses steht:

order allow,deny
deny from all

Der Zugriff per HTTP ist damit nicht mehr möglich; die Scripte stört das nicht.

Nach der Installation erstellt Piwik in diesem Verzeichnis drei weitere – denen dann wieder die nötigen Rechte fehlen. Das bemerkt man, wenn man die Suchmaschinenauswertung aufrufen möchte und vier Meter Fehlermeldungen sieht. Da muß man also nochmal ran; dann aber läuft es. So sieht es bis jetzt zumindest aus.

Die Software setzt ein Cookie mit zwei Jahren Haltbarkeit, was ich ein bißchen lang finde. Wenn ich mich durch die API gegraben habe, werde ich das auf drei Monate heruntersetzen.

Die Oberfläche der Startseite besteht aus lauter Widgets, die man frei anordnen, zu- und abschalten kann. Da muß ich noch ein bißchen mehr Übersicht hineinbringen.
Screenshot: Piwik Startseite

Nahezu alle Bestandteile des Codes werden als Plugin eingebunden – selbst das Dashboard, die Installationsroutine und die API! Das kann man also alles überschreiben. Der Code selbst besteht aus streng objektorientiertem PHP im MVC-Muster. PHP 5. Da steigt mir gleich dieses Monospacetickeln in die Fingerkuppen …

Die Pluginübersicht gemahnt visuell sehr an die WordPress’. Wirklich sehr.

Screenshot: Piwik Startseite

Vielleicht ist das sogar eine gute Idee: Das ist sicher die bekannteste Plugindarstellung der Welt. Wenngleich nicht die schönste.

Man kann beliebig viele Websites in der Administration verwalten, ebenso mehrere Nutzer mit genau abgezirkelten Rechten anlegen. Wenn ich das also mal bei einem Kunden einsetze, kann ich die Daten für alle Webseiten ansehen, der Kunde aber nur die für seine eigene. So soll’s ja auch sein.

Genug geschwafelt. Was haltet ihr davon?

Folgeartikel: Verirrte Requests abfangen

17 Kommentare

  1. David am 19.05.2009 · 18:28

    Mal sehen, ob ich das richtig verstanden habe: Wertet dieses Programm die Serverlogs aus, oder ist das ein extra Script, das bei jedem Besuch anspringt und selber Daten sammelt? Für den zweiten Fall: funktioniert das auch auf einer statischen Seite?

  2. Thomas Scholz am 19.05.2009 · 18:41

    @David: Es sammelt selber. Entweder über ein eingebundenes Javascript oder innerhalb eines Noscript-Abschnittes über ein Bild. Im Quellcode dieser Seite hier siehst du das.
    Die zu beobachtende Seite kann durchaus statisch sein.

  3. Dieter am 20.05.2009 · 15:24

    Interessant klingt, dass man beliebige viele Websites einbinden kann.

    Das kann das von mir eingesetzte Statistiktool chCounter (chCounter.org) anscheinend nicht.

    Dafür kann ich dort anstelle einer JavaScript-Einbindung auch eine PHP-Einbindung vornehmen. Damit erfasse ich dann auch die Besucher, die JavaScript ausgeschaltet oder nicht haben.

    Ich bin mit chCounter zufrieden, so dass ich aufgrund der hier beschriebenen Schwächen von Piwik mir das Testen von Piwik erspare. Danke für Deinen Bericht.

  4. David am 20.05.2009 · 15:46

    Wenn ich das richtig verstanden habe, dann funkioniert das ohne JS auch, indem ein "Bild" eingebunden wird, welches auf ein Logscript verweist.

  5. Thomas Scholz am 20.05.2009 · 16:29

    @Dieter: Soweit ich das nach dem ersten Überfliegen der Chcounter-Seite sagen kann, ist der Leistungsumfang fast identisch.

    @David: Ja, das eingebundene Bild ist eigentlich ein PHP-Script, das den Request auswertet.
    Diese Erfassung könnte ich direkt auf diesen Seiten vornehmen, um auch Besucher zu messen, die keine Bilder und Scripte laden. Hm … vielleicht schreibe dafür mal ein Plugin. Wäre vermutlich ein guter Einstieg in den Piwik-Code.

  6. David am 22.05.2009 · 09:46

    Ich hab es jetzt auch auf meiner Seite laufen. Macht einen sehr umfangreichen Eindruck. Allerdings hab ich noch nicht herausgefunden, was das Cookie alles speichert und wie das alles Funktioniert. Sowas schreibe ich gern auf meine Seite um dem Nutzer darüber aufzuklären, was alles mitgeschrieben wird.
    Die Anzeige der Daten ist allerdings etwas gewöhnungsbedürftig. Ansonsten ein gutes Analysetool.

  7. Stefan am 28.06.2009 · 21:05

    Piwik setzte ich selbst gern für eigene Projekte ein. Aufgrund der etwas schwammigen Rechtslage bezüglich Datenschutz bei Analytics ist es mittlerweile eine gelungene Alternative. Welche Plugins hast du denn im Einsatz bzw. mit welchen hast du Erfahrungen gesammelt?

  8. Thomas Scholz am 28.06.2009 · 21:53

    @Stefan: Im Moment benutze ich alle mitgelieferten außer den Example-Plugins, DBStats und Feedback. Besondere positive oder negative Erfahrungen habe ich noch nicht.

  9. Fabian am 20.12.2009 · 23:54

    Hallo,
    ich wollt mal fragen, wie es bei dir aussieht mit der Datenbank-Größe. Bei mir sind ab Mai dieses Jahres stolze 16MB zusammengekommen - was ja letztlich nicht gerade wenig ist. Bisher habe ich noch nie ein Backup dieser Datenbank gemacht und auch nichts zum Archivieren gefunden?

    Gruß

  10. Thomas Scholz am 21.12.2009 · 00:31

    @Fabian: Hier sind es knapp 24 MB, was verglichen mit den 1.4 MB für das gesamte Blog tatsächlich recht viel ist. Aber wirklich stören würde mich das erst, wenn ich weit in den dreistelligen Bereich hineingerate.

    Zum Sichern kannst du doch bestimmt deine Datenbankverwaltung benutzen, oder? Alternativ klemmst du dich mal an die API und schreibst ein Plugin, für das dir alle danken. ☺

  11. Francesco am 06.04.2010 · 17:13

    Bei mir erzeugt Piwik nach der Installation im tmp-Ordner vier weitere Ordner: cache, latest, sessions und templates_c. Welche davon muss man auf 777 setzen?

  12. Thomas Scholz am 06.04.2010 · 23:55

    @Francesco: cache, sessions und templates_c auf 777, latest begnügt sich mit 755.

  13. Michael am 07.04.2010 · 01:32

    Piwik ist absolut super das kann alles was es können muß...

    Gruß Michael

  14. Alex am 17.05.2010 · 11:10

    Hi Thomas,

    danke für den netten Artikel. Darauf basierend habe ich Piwik nun mal installiert und schaue wie ich zurecht komme.

    Durch Frank Bueltge bin ich heute via Buzz übrigens auf eine noch recht schlank Analyse-Software namens SlimStat aufmerksam geworden.
    Ist vllt auch was für dich?!

    VG,
    - Alex

  15. Thomas Scholz am 17.05.2010 · 21:09

    @Alex: Slimstats sieht schicker aus als Piwik, und wenn die Datenbank wirklich so effizient gehandhabt wird, dann werde ich das mal ausprobieren.
    Piwik bietet natürlich ungleich mehr Details an; aber die braucht man ja vielleicht nicht immer. Danke für den Tipp.

  16. Alex am 18.05.2010 · 10:59

    @Thomas

    Gerne!

    Allerdings hab ich mit Piwik noch Probleme. Seit gestern ist es installiert und es zeigt mir noch keine Stats an. Ich teste dann mal SlimStat, ob das besser läuft.

    gr., Alex

  17. Thomas Scholz am 18.05.2010 · 11:02

    @Alex: Piwik zeigt ab Werk die Statistik des vergangenen Tages. Wie man das ändern kann, habe ich im Folgeartikel beschrieben.