Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| centos:piwik [13.01.2012 10:06. ] – [VHost] django | centos:piwik [20.04.2018 10:26. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Webserver-Analyse mit Piwik ====== | ||
| + | {{: | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | Ein recht vielversprechendes Projekt erscheint [[http:// | ||
| + | |||
| + | Dabei werden nicht, wie bei [[centos: | ||
| + | |||
| + | Recht aufschlußreich ist dabei diese [[http:// | ||
| + | |||
| + | Nachfolgend wird die Installation von [[http:// | ||
| + | |||
| + | ===== Download des Programmcodepaketes ===== | ||
| + | Das aktuelle Programmpaket holen wir uns am einfachsten von der [[http:// | ||
| + | # wget http:// | ||
| + | |||
| + | ===== vorbereitende Installation ===== | ||
| + | ==== Piwik ==== | ||
| + | Den Inhalt dieses Archives legen wir in unser altbekannten bevorzugten Platz ab. Dazu legen wir uns das entsprechende Verzeichnis an. | ||
| + | # mkdir / | ||
| + | # chown apache: | ||
| + | # unzip last.zip -d /usr/share/ | ||
| + | |||
| + | ==== VHost ==== | ||
| + | Für den Zugriff auf unsere Piwik-Installation legen wir uns einen virtuellen Host an. Die entsprechende Konfigurationsdatei **vhosts.conf** haben wir im Verzeichnis **/ | ||
| + | Mit dem Editor unserer Wahl ergänzen wir nun unsere virtuelen Hosts um einen weiteren: | ||
| + | # vim / | ||
| + | |||
| + | <code apache vhosts.conf > | ||
| + | # | ||
| + | # piwik.nausch.org | ||
| + | # | ||
| + | < | ||
| + | ServerAdmin webmaster@nausch.org | ||
| + | ServerName piwik.nausch.org | ||
| + | ServerAlias www.piwik.nausch.org | ||
| + | ServerPath / | ||
| + | DocumentRoot "/ | ||
| + | < | ||
| + | AllowOverride AuthConfig | ||
| + | Order allow,deny | ||
| + | Allow from all | ||
| + | </ | ||
| + | DirectoryIndex index.php | ||
| + | ErrorLog logs/ | ||
| + | CustomLog logs/ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Dabei ist zu beachten, nicht versehentlich den Zugriff via **Order allow, | ||
| + | |||
| + | ==== PHP Extensions GD und PDO ==== | ||
| + | Laut den [[http:// | ||
| + | # yum install php-gd php-pdo -y | ||
| + | |||
| + | ==== PHP-Memory-Limit ==== | ||
| + | Zu guter Letzt passen wir noch den für PHP nutzbaren Speicherbedarf an. Dazu editieren wir die Konfigurationsdatei **/ | ||
| + | |||
| + | # vim / | ||
| + | < | ||
| + | ;;;;;;;;;;;;;;;;;;; | ||
| + | ; Resource Limits ; | ||
| + | ;;;;;;;;;;;;;;;;;;; | ||
| + | |||
| + | max_execution_time = 30 ; Maximum execution time of each script, in seconds | ||
| + | max_input_time = 60 ; Maximum amount of time each script may spend parsing request data | ||
| + | memory_limit = 256M ; | ||
| + | </ | ||
| + | |||
| + | Mit einem **service httpd restart** wird die vorgenannte VHost-Definition und auch diese Änderung unserem System/ | ||
| + | |||
| + | ==== Datenbankuser ==== | ||
| + | Da die Webanalysedaten in einer MySQL-Datenbank abgelegt und zur Auswertung vorgehalten werden, legen wir uns noch einen entsprechenden Datenbankuser an. Dazu benutzen wir entweder das Clientprogramm **mysql** oder für den faulen Admin steht **phpMyAdmin** zur Verfügung. | ||
| + | Mittels folgender MySQL-Statements legen wir nun den notwendigen Datenbankuser an und erteilen ihm die nötigen Rechte: | ||
| + | < | ||
| + | CREATE USER ' | ||
| + | GRANT all on webstats.* to ' | ||
| + | FLUSH PRIVILEGES; | ||
| + | |||
| + | CREATE USER ' | ||
| + | GRANT all on webstats.* to ' | ||
| + | FLUSH PRIVILEGES;</ | ||
| + | Anschließend testen wir, ob wir uns erfolgreich von der Konsole aus mit unserem neu definierten Datenbankuser bei unserem MySQL-Server anmelden können: | ||
| + | $ mysql -D webstats -u piwikuser -h datenbankhost.dmz.nausch.org -p | ||
| + | <code sql> | ||
| + | Welcome to the MySQL monitor. | ||
| + | Your MySQL connection id is 33 | ||
| + | Server version: 5.1.52 Source distribution | ||
| + | |||
| + | Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. | ||
| + | This software comes with ABSOLUTELY NO WARRANTY. This is free software, | ||
| + | and you are welcome to modify and redistribute it under the GPL v2 license | ||
| + | |||
| + | Type ' | ||
| + | |||
| + | mysql> status; | ||
| + | -------------- | ||
| + | mysql Ver 14.14 Distrib 5.1.52, for unknown-linux-gnu (x86_64) using readline 5.1 | ||
| + | |||
| + | Connection id: 33 | ||
| + | Current database: | ||
| + | Current user: | ||
| + | SSL: Not in use | ||
| + | Current pager: | ||
| + | Using outfile: | ||
| + | Using delimiter: | ||
| + | Server version: | ||
| + | Protocol version: | ||
| + | Connection: | ||
| + | Server characterset: | ||
| + | Db | ||
| + | Client characterset: | ||
| + | Conn. characterset: | ||
| + | TCP port: 3306 | ||
| + | Uptime: | ||
| + | |||
| + | Threads: 1 Questions: 141 Slow queries: 0 Opens: 19 Flush tables: 1 Open tables: 12 Queries per second avg: 0.0 | ||
| + | -------------- | ||
| + | |||
| + | mysql> quit | ||
| + | Bye</ | ||
| + | |||
| + | Nachdem auch dieser Schritt erfolgreich zu Ende geführt worden ist, machen wir uns weiter auf den Weg unsere **// | ||
| + | |||
| + | ===== abschließende Installation ===== | ||
| + | Ab dieser Stelle wir es nun das erste Mal, so richtig spannend und vor allem einfach und komfortabel. | ||
| + | Im Grunde ist es schon sehr unspektakulär, | ||
| + | |||
| + | Wir klicken uns also durch die folgenden Seiten und geben jeweils die Daten unserer Laufzeitumgebung an: | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Werden von Piwik, wie in diesem Fall **// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | In disem Fall werden die Datei-/ | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Anschließend wird die Datenbank eingerichtet. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Anscheinend haben wir uns bei der Eingabe unseres Passwortes vertippt, da sofort ein entsprechender Fehlerhinweis gemeldet wurde. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Nach der erneuten und richtigen Eingabe wird auch hier nun das anlegen der einzelnen Tabellen in unserer Datenbank positiv bestätigt. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Als nächstes Legen wir unseren Aadministrativen Nutzer **//" | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Hier erfolgt nun die Definition unserer //"zu beobachtenden Webserveradresse"// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Der notwendige JavaScript-Code, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Am Ende unserer Installation werden wir dann abschließend informiert: | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Das war's nun auch schon (fast). ;-) Wir tragen den uns gezeigten JavaScript-Code in unsere Webseiten ein und melden uns an unserem [[http:// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ===== Automatisches Generieren der Archivdaten ===== | ||
| + | Zum automatischen erstellen der Archiv-Daten legen wir uns einfach einen passenden **cron-job** an. | ||
| + | |||
| + | Hierzu tragen wir einfach folgende Zeile in unserer **crontab**-Konfigurationsdatei ein. | ||
| + | 5 * * * * www-data / | ||
| + | |||
| + | # vim / | ||
| + | |||
| + | Somit wird alle 5 Minuten entsprechende Archivdaten generiert. Bei hochfrequentierten Seiten empfiehlt es sich hier einen Abstand von 30 Minuten zu setzen. Die Eintragungen in der // | ||
| + | 30 * * * * www-data / | ||
| + | |||
| + | Wenn wir nun das script von Hand aufrufe, sollte uns in ein entsprechende Ausgabe der Daten in XML-Format entgegenfallen. | ||
| + | <code xml> | ||
| + | |||
| + | |||
| + | Archiving period = day for idsite = 1... | ||
| + | <?xml version=" | ||
| + | < | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | </ | ||
| + | Archiving period = week for idsite = 1... | ||
| + | <?xml version=" | ||
| + | < | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | </ | ||
| + | Archiving period = month for idsite = 1... | ||
| + | <?xml version=" | ||
| + | < | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | </ | ||
| + | Archiving period = year for idsite = 1... | ||
| + | <?xml version=" | ||
| + | < | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | <result date=" | ||
| + | </ | ||
| + | Archiving for idsite = 1 done! | ||
| + | Reports archiving finished. | ||
| + | --------------------------- | ||
| + | Starting Scheduled tasks... | ||
| + | |||
| + | task,output | ||
| + | Piwik_CoreAdminHome.optimizeArchiveTable, | ||
| + | Piwik_PDFReports.dailySchedule, | ||
| + | Piwik_PDFReports.weeklySchedule, | ||
| + | Piwik_PDFReports.monthlySchedule, | ||
| + | Piwik_PrivacyManager.deleteLogTables, | ||
| + | Finished Scheduled tasks. | ||
| + | </ | ||
| + | |||
| + | ===== Datenbanknutzung ===== | ||
| + | Je nach Auslastung unserer gewählten VHosts, werden nun bei jedem Besucher entsprechende Profildaten in unserer MySQL-Datenbanktabelle angelegt. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ===== Piwik-Nutzerkonfiguration ===== | ||
| + | Einen neuen Nutzer in unserem Piwik-System legen wir über den Menüpunkt **//User Management// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Abschließend weisen wir diesem User noch die Berechtigung auf die entsprechende URL unseres Webservers zu. | ||
| + | |||
| + | {{ : | ||
| + | ===== Piwik-Website-Konfiguration ===== | ||
| + | Weitere Web-Sitrs und Projekte geben wir unserem Piwik-System übeer den Menüpunkt // | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Nachfolgenden CJavaScript-Code fügen wir dann den entsprechenden Seiten unseres Web-Projektes hinzu. | ||
| + | |||
| + | {{ : | ||
| + | ===== Piwik-Stolperfalle(n) ===== | ||
| + | ==== VHost-Definition(en) ==== | ||
| + | Beim Anlegen unseres VHostes ist darauf zu achten, dass nicht nur unser Admin-Account von einem Rechner oder Netz auf unseren VHost zugreifen können muss, sondern von __überall her__. Bei Schwierigkeiten am besten das **Error-Logfile** unseres Webservers ansehen, dort tauchen entsprechende Warnmeldungen auf. | ||
| + | ==== Adblock Plus Plugin für Firefox ==== | ||
| + | Was auch zu Irritationen führen kann, ist die Verwendung des Firefox-Plugins [[http:// | ||
| + | |||
| + | Bei eigenen Test mit //" | ||
| + | |||
| + | ====== Links ====== | ||
| + | * **[[wiki: | ||
| + | * **[[http:// | ||
| + | |||