Piwik auf Shared Hosts

Nachdem in der letzten Bloxxo-Umfrage herauskam, dass das Statistik-Tool Piwik doch nicht so unbekannt ist, wie ich dachte, wollte ich heute einmal eine Erfahrung mit euch teilen, die ich gemacht habe.

Und zwar geht es dabei um ein Installationsproblem, das auch bereits im Piwik-Forum angesprochen wurde: einige Leute, die einen Account auf einem Shared Host haben, konnten Piwik nicht installieren, da der Installer nicht die nötigen Zugriffsrechte hatte - und das, obwohl diese extra vergeben wurden! Im Forum heißt es dazu wie folgt:

If I understand your answer correctly, it's not possible (or at least it's very cumbersome) to install piwik on a shared hosting environment because the ftp user will always be a different user than the apache one. [...]

I don't understand why the ownership makes any difference to the software once the tmp/ dir is world writable but I'm not a php expert so I can't help improve the code.
(Beitrag im Piwik-Forum)

Für den Teil der Leserschaft, die dem Englischen nicht allzu mächtig sind, hier ein unqualifizierter Übersetzungsversuch von mir:

Wenn ich deine Antwort richtig verstehe, ist es also nicht möglich (oder zumindest ziemlich aufwändig) Piwik in einer Shared-Hosting-Umgebung zu installieren, da der FTP-Benutzer immer ein anderer sein wird, als der des Apache. [...]

Ich verstehe nicht, warum die Eigentümerschaft einen Unterschied für die Software macht, sobald alle Benutzer Schreibrechte für den tmp/ Ordner erhalten haben, aber ich bin kein PHP-Experte und kann deshalb nicht dabei helfen, den Quelltext zu verbessern.

Das Problem ist mir in den letzten Jahren schon mehrfach über den Weg gelaufen - bisher habe ich jedoch noch keine zufrieden-stellende Lösung gefunden. Aber fangen wir von vorne an - nämlich bei einer funktionierenden Installation:

Piwik: systemCheck

Piwik: systemCheck

Wie man an den markierten Teilen sehen kann, wird nicht nur Schreibzugriff auf den Ordner "tmp/" benötigt, sondern auch noch auf einige Unterordner - nämlich:

  • tmp/cache/
  • tmp/latest/
  • tmp/sessions/
  • tmp/templates_c/

Und hier kommt nun das Problem: die Ordner sind während der Installation nicht vorhanden - also versucht der Installer, sie anzulegen: logisch! Allerdings kriegt die Software es nicht hin, dabei die Rechte des Überordners zu übernehmen (warum auch immer). Dadurch verliert die Software die Schreibrechte an den selbsterstellten Unterordnern und daraus resultierend folgt der beschriebene Zugriffsfehler.

Die Lösung hierfür ist relativ trivial: anstatt die entsprechenden Ordner vom Installer anlegen zu lassen, legt man sie selbst an und vergibt im vorhinein die passenden Zugriffsrechte (chmod 777) und voila: die Installation klappt auch auf dem Shared Host!
Natürlich sollte man nicht vergessen, dass man auch die Rechte für den "config/" Ordner korrekt setzen sollte, damit der Installer die während des Installationsprozesses gemachten Einstellungen auch abspeichern kann :-D .

Hier übrigens noch ein kleiner Tipp am Rande: wenn man Piwik fertig installiert hat und alles konfiguriert hat, sollte man alle nicht-benötigten Plugins deaktivieren. Bei mir beläuft sich die Liste der aktiven Piwik-Plugins lediglich auf folgende:

  • Actions
  • DBStats
  • Dashboard
  • Live
  • Login
  • Provider
  • Referers
  • UserCountry
  • UserSettings
  • VisitFrequency
  • VisitTime
  • VisitorInterest
  • VisitsSummary

Als weitere Sicherungsmaßnahme kann man übrigens zudem die "index.php" per ".htaccess" Datei (und ".htpasswd" Datei) absichern, sowie den "misc/" Ordner vom Server löschen, um ein paar Angriffe von außen zu erschweren.
Danach kann man sich dann über ein möglichst sicheres Piwik freuen, das einem hoffentlich viele nützliche Statistiken liefern wird ;-) .

Hast du schon einmal versucht, Piwik bei dir zu installieren? War der Versuch von Erfolg gekrönt? Falls nein: würdest du es jetzt noch einmal versuchen wollen?
Update:
In der Version 0.4.x wird zusätzlich der Ordner tmp/sessions/ benötigt.
Piwik-Grüße, Kenny