Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:piwik [25.11.2008 19:35. ] – mySQL Nutzung von Piwik nachgetragen 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:// | ||
+ | |||