Piwik unter Ubuntu Linux 16.04 Server mit nginx und MariaDB/MySQL installieren und konfigurieren

Piwik ist eine freie Alternative zu Google Analytics und anderen Diensten, welche Statistiken über die Besucher von Websiten erstellen. In diesem Beitrag beschreibe ich wie Piwik unter Ubuntu Linux 16.04 Server mit nginx und MariaDB/MySQL installiert und konfiguriert werden kann.

Vorbereitung

nginx / Letsencrypt

Wie nginx unter Ubuntu Linux 16.04 mit PHP und MariaDB/MySQL installiert und konfiguriert werden kann habe ich im Beitrag nginx unter Ubuntu Linux 16.04 Server mit sicherer SSL Konfiguration, PHP und MariaDB oder MySQL installieren und konfigurieren beschrieben. Sobald nginx eingerichtet ist muss zuerst muss ein Verzeichnis für die Piwik Dateien angelegt werden, welches auch von nginx referenziert wird.

$ sudo mkdir -p /var/www/com.example.analytics

Jetzt sollte eine neue nginx Basiskonfiguration für Piwik unter /etc/nginx/sites/available/com.example.analytics angelegt werden, mit welcher das letsencrypt Zertifikat angefragt werden kann.

server  {
        listen          80;
        listen          [xxx:xxx:xxx::42]:80;

        server_name     analytics.example.com;
        root            /var/www/com.example.analytics;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ /index.php?$args;
        }

        # snippet for updating letsencrypt certificates
        include snippets/certbot-webroot.conf;
}

Diese Konfiguration muss nun aktiviert werden.

$ sudo ln -s /etc/nginx/sites-available/com.example.analytics /etc/nginx/sites-enabled/

Bevor die neue Konfiguration geladen wird sollte geprüft werden, dass sie Fehlerfrei ist.

$ sudo /etc/init.d/nginx configtest
 * Testing nginx configuration                                [ OK ]

Anschließend kann sie geladen werden.

$ sudo /etc/init.d/nginx reload
[ ok ] Reloading nginx configuration (via systemctl): nginx.service.

Jetzt kann wie im Beitrag Let’s Encrypt SSL Zertifikate unter Ubuntu Linux 16.04 Server mittels nginx und webroot Plugin beziehen beschrieben ein Letsencrypt Zertifikat für diese Website angefragt werden.

Nachdem das Zertifikat erfolgreich angefragt wurde kann die Konfiguration auf die nachfolgende vollständige Konfiguration geändert werden.

server  {
        listen          80;
        listen          [xxxx:xxxx:xxxx:xxxx::42]:80;

        server_name     analytics.example.com;
        return          301 https://$server_name$request_uri;
}

server  {
        listen          443 ssl;
        listen          [xxxx:xxxx:xxxx:xxxx::42]:443 ssl;

        server_name     analytics.example.com;

        ssl_certificate         /etc/letsencrypt/live/analytics.example.com/fullchain.pem;
        ssl_certificate_key     /etc/letsencrypt/live/analytics.example.com/privkey.pem;
        add_header              Strict-Transport-Security "max-age=63072000; includeSubdomains; ";

        root /var/www/com.example.analytics;

        index index.php;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

        # pass the PHP scripts to FastCGI server
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }
}

Bevor die neue Konfiguration geladen wird sollte wieder geprüft werden, dass sie Fehlerfrei ist.

$ sudo /etc/init.d/nginx configtest
 * Testing nginx configuration                                [ OK ]

Anschließend kann sie geladen werden

$ sudo /etc/init.d/nginx reload
[ ok ] Reloading nginx configuration (via systemctl): nginx.service.

MariaDB / MySQL

Wie MariaDB bzw. MySQL unter Ubuntu 16.04 installiert und konfiguriert werden kann habe ich in Beitrag MySQL oder MariaDB unter Ubuntu Linux 16.04 installieren und konfigurieren beschrieben. Für Piwik sollte eine eigene Datenbank mit Benutzer angelegt werden. Wie dies über das Terminal erledigt werden kann habe ich im Beitrag MySQL oder MariaDB Datenbank über das Terminal erstellen beschrieben.

Piwik

Piwik kann von der offiziellen Homepage heruntergeladen werden. Zuvor sollte in das Webverzeichnis der Installation gewechselt werden.

$ cd /var/www/com.example.analytics
$ wget https://builds.piwik.org/piwik.zip
--2017-06-01 20:16:41--  https://builds.piwik.org/piwik.zip
Resolving builds.piwik.org (builds.piwik.org)... 185.31.40.177
Connecting to builds.piwik.org (builds.piwik.org)|185.31.40.177|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 18037778 (17M) [application/zip]
Saving to: ‘piwik.zip’

piwik.zip            100%[======================>]  17.20M  6.35MB/s    in 2.7s

2017-06-01 20:16:44 (6.35 MB/s) - ‘piwik.zip’ saved [18037778/18037778]

Nun können die Dateien entpackt, an ihren richtigen Platz verschoben, aufgeräumt sowie die Rechte angepasst werden.

$ unzip piwik.zip
$ rm How\ to\ install\ Piwik.html piwik.zip
$ mv piwik/* ./
$ rm piwik -R
$ chown -R www-data:www-data *

PHP Pakete

Piwik benötigt bestimmte PHP Pakete, welche bei der Ubuntu Standardinstallation nicht automatisch installiert werden. Sie können mit nachfolgendem Befehl installiert werden.

$ sudo apt-get install php-mbstring php-gd php-xml php-geoip geoip-database-contrib

Anschließend muss PHP einmal neu geladen werden

$ sudo /etc/init.d/php7.0-fpm reload
[ ok ] Reloading php7.0-fpm configuration (via systemctl): php7.0-fpm.service.

Installation

Nun kann die eigentliche Installation gestartet werden. Dazu muss im Browser die Domain aufgerufen werden, für welche die nginx Konfiguration erstellt wurde (hier im Beispiel https://analytics.example.com).

Zuerst kann die Sprache auf Deutsch umgestellt werden. Dazu einfach oben Links auf „English“ klicken (1) und in der sich öffnenden Liste anschließend „Deutsch“ auswählen (2).

Sprache für die Piwik Installation ändern

Nun kann mit einem Klick auf „Nächste“ die Installation gestartet werden.

Schritt 1 der Piwik Installation

Im zweiten Schritt der Installation wird geprüft ob das Szstgem alle Vorraussetzungen erfüllt. Falls alle Vorraussetzungen erfüllt werden wird zu beginn der Seite ein „Nächste“ Button angezeigt, womit man zum nächsten Schritt gelangt

Schritt 2 der Piwik Installation

Falls nicht alle Vorraussetzungen erfüllt sind wird am Beginn der Seite kein Button angezeigt. Die erkannten Probleme werden aber auf der Seite angezeigt. Nachfolgend ein Screenshot von einem Problem des Datei-Integritätschecks, welches ich bei der Installation hatte. Hier wurde direkt der entsprechende Befehl angezeigt um es zu beheben. Nachdem das Problem behoben wurde kann einfach die Seite neu geladen werden (F5). Falls anschließend zu beginn der Seite der „Nächste“ Button angezeigt wird kann er einfach geklickt werden. Ansonsten sollten zuerst die weiteren angezeigten Probleme behoben werden.

Problem mit dem Integritätscheck in Schritt 2 der Piwik Installation

Im dritten Schritt müssen die Verbindungsdaten zur Datenbank eingegeben werden. Konkret bedeutet dies der Benutzer, das Passwort sowie der Datenbankname. Anschließend kann auf „Nächste“ geklickt werden.

Schritt 3 der Piwik Installation

Schritt 4 zeigt die Bestätigung, dass die Datenbanktabellen erfolgreich angelegt wurden. Mit einem klick auf „Nächste“ gelangt man zum nächsten Schritt.

Schritt 4 der Piwik Installation

Im fünften Schritt wird der Piwik Hauptadministrator Account angelegt. Dazu muss ein Login, Passwort sowie E-Mail Adresse angegeben werden. Zusätzlich habe ich bei mir noch den Harken bei „Wichtige Piwik Community Updates per Mail zukommen lassen“ entfernt. Auch ohne diesen Harken werden Benachrichtigungen für Updates versendet.

Schritt 5 der Piwik Installation

Schritt 6 erlaubt es direkt eine Website zu Piwik hinzuzufügen, welche anschließend getrackt werden kann. Dazu muss der Name der Website, die zugehörige URL, die Zeitzone sowie ob es sich um eine Ecommerce Seite handelt angegeben werden. Anschließend kann auf „Nächste“ geklickt werden.

Schritt 6 der Piwik Installation

Schritt sieben Zeigt den Tracking-Code für die gerade angelegte Website an. Dieser kann direkt in den head-Tag der Website eingebaut werden um mit dem tracken zu starten. Anschließend kann auf „Nächste“ geklickt werden um zum letzten Schritt zu gelangen.

Schritt 7 der Piwik Installation

Schritt 8 ist eine Bestätigung, dass Piwik erfolgreich installiert wurde. Es können direkt einige Privatsphäreeinstellungen bearbeitet werden. Ich habe sowohl die Do-not-Track Unterstützung als auch anonzmisierung der IP-Adressen aktiviert gelassen. Mit einem Klick auf „Weiter zu Piwik“ gelangt man zur Login Website der gerade erstellten Piwik installation.

Schritt 8 der Piwik Installation

Konfiguration

Auf der Login Seite können jetzt die in Schritt 5 angegebenen Logindaten des Hauptadministrators verwendet werden um sich mit einem Klick auf „Anmelden“ einzuloggen.

Piwik Login

Falls der Tracking-Code noch nicht in die Webseite eingebaut wurde landet man nach dem Einloggen auf eine Seite die einem daran erinnert, dass noch keine Daten aufgezeichnet wurde. Mit einem Klick auf das Zahnrad am rechten oberen Rand gelangt man zur Administration von Piwik.

Piwik – Bisher wurden keine Daten aufgezeichnet

Standorterkennung

Die Kachel der Systemprüfung zeigt an, dass es ein Warnung zur Standorterkennung gibt (1). Um diese Warnung zu beheben muss links im Menü Standorterkennung ausgewählt werden (2).

Piwik Administration – Warnung zur Standorterkennung

Hier muss link GeoIP (PECL) (1) ausgewählt und mit einem Klick auf „Speichern“ (2) gespeichert werden.

Piwik Standorterkennung Konfigurieren

Nach einem erneuten Klick auf das Zahnrad wird wieder die Administration aufgerufen. Dort sind jetzt unter Systemprüfung keine Fehler oder Warnungen mehr gelistet.

Piwik Administration – Keine Fehler oder Warnungen

Force SSL

Ich nutze das zusätliche Plugin Force SSL. Es erlaubt nur Piwikzugriffe über HTTPS/SSL und erhöht somit die Sicherheit der Piwik installation. Um es zu Installieren muss zunächst im Linken Menü der Marketplace aufgerufen werden (1). Anschließend kann nach Force SSL gesucht werden (2). In den Resultaten kann bei Force SSL einfach auf den „Install“ Button (3) geklickt werden um es zu installieren.

Piwik Plugin Force SSL installieren

Nachdem das Plugin installiert wurde bietet Piwik direkt an es zu aktivieren.

Piwik Plugin Force SSL aktivieren

Nun kann Piwik sicher in seinem vollen Funktionsumfang genutzt werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert