GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Installieren Sie Matomo Web Analytics (Piwik) auf Ubuntu 18.04 mit Apache/Nginx

Dieses Tutorial zeigt Ihnen, wie Sie Matomo Web Analytics (früher bekannt als Piwik) auf Ubuntu 18.04 mit Apache- oder Nginx-Webserver installieren. Matomo ist eine Open-Source-Alternative zu Google Analytics, der am weitesten verbreiteten Webanalysesoftware.

Was ist Webanalyse?

Webanalysesoftware wird von Websites verwendet, um zu wissen, wie viele Besucher an einem Tag/in einer Woche/in einem Monat auf einer Website sind, welchen Webbrowser sie verwenden usw. Es ist eine entscheidende Software, um das Wachstum ihrer Websites zu unterstützen. Google Analytics ist großartig, aber die Daten der Website-Besucher werden auf dem Server von Google gespeichert. Wenn Sie die Daten Ihrer Website-Besucher nicht an Dritte weitergeben möchten, können Sie Ihre eigene Webanalyse durchführen. Sie sind viele selbst gehostete Alternativen zu Google Analytics und Matomo ist eine großartige.

Matomo-Funktionen

Die selbst gehostete Open-Source-Edition (GPL v3+ lizenziert) von Matomo kann die folgenden Berichte anzeigen.

  • Top-Keywords und Suchmaschinen, Websites, Social-Media-Websites.
  • Top-Seiten-URLs, Seitentitel, Nutzerländer, Anbieter, Betriebssystem, Browser-Marktanteil, Bildschirmauflösung, Desktop im Vergleich zu Mobilgeräten.
  • Engagement (Zeit auf der Website, Seiten pro Besuch, wiederholte Besuche).
  • Top-Kampagnen, benutzerdefinierte Variablen, Top-Einstiegs-/Ausstiegsseiten, heruntergeladene Dateien und vieles mehr.
  • Klassifiziert in vier Hauptkategorien von Analyseberichten – Besucher, Aktionen, Referrer, Ziele/E-Commerce (30+ Berichte).
  • Statistik-E-Mail-Berichte.
  • Webserver-Protokollanalyse.
  • Besucher verfolgen, die JavaScript deaktiviert haben.
  • Tools zur Einhaltung der DSGVO (z. B. Cookie-Einwilligung)
  • Installieren Sie kostenlose oder Premium-Plugins, um die Funktionalität von Matomo zu erweitern und zu erweitern.
  • Und mehr.

Eine vollständige Liste der Funktionen finden Sie auf der Seite mit den Matomo-Funktionen. Besonders gut gefällt mir, dass Matomo alle meine Webseiten nach Seitenaufrufen auflisten und für jede Webseite die Absprungrate und Ausstiegsrate anzeigen kann. Und auch die Echtzeit-Besucherkarte.

Matomo Echtzeit-Besucherkarte

Selbst gehostete Matomo-Vorteile

  • Volle Kontrolle über die Daten. Daten werden nur auf Ihrem Server gespeichert und Sie können wählen, in welchem ​​Land sich der Server befindet.
  • Keine Datenlimits. Sie können so viele Daten wie Ihr Server speichern kann.
  • Vollständig anpassbar und erweiterbar.
  • Firefox hat damit begonnen, Cross-Site-Tracking-Cookies zu blockieren, einschließlich Google Analytics. Indem Sie die Analysesoftware unter Ihrem eigenen Domainnamen hosten, werden Ihre Tracking-Cookies nicht blockiert.

Das in der Cloud gehostete Matomo verfügt über zusätzliche Funktionen, aber Sie können das Premium-Plugin auf Ihrer selbst gehosteten Instanz installieren, um die gleiche Funktionalität zu erhalten.

Voraussetzungen für die Installation von Matomo Web Analytics (Piwik) auf Ubuntu 18.04

Um diesem Tutorial zu folgen, benötigen Sie einen Domänennamen und einen Server. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und Whois-Datenschutz lebenslang kostenlos ist. Ein Server mit 512 MB RAM reicht aus, um Matomo auszuführen, und hier sind die Hosting-Anbieter, die ich empfehle. Ich habe sie alle benutzt.

  • Vultr (ab 2,5 $/Monat. Kreditkarte erforderlich)
  • DigitalOcean (Beginnen Sie bei 5 $/Monat. Es ist keine Kreditkarte erforderlich. Sie können Paypal verwenden).

Sobald Sie einen Server haben, installieren Sie Ubuntu darauf und folgen Sie den Anweisungen unten.

Matomo ist in PHP geschrieben und verwendet eine MySQL/MariaDB-Datenbank. Um diesem Tutorial zu folgen, wird davon ausgegangen, dass Sie den LAMP- oder LEMP-Stack bereits unter Ubuntu 18.04 eingerichtet haben. Wenn nicht, sehen Sie sich bitte eines der folgenden Tutorials an:

  • So installieren Sie den LAMP-Stack auf einem Ubuntu 18.04-Server
  • So installieren Sie den LEMP-Stack auf einem Ubuntu 18.04-Server

Wenn Sie mit dem Einrichten des LAMP- oder LEMP-Stacks fertig sind, kommen Sie hierher zurück und lesen Sie weiter.

Schritt 1:Laden Sie Matomo auf Ubuntu 18.04 herunter

Melden Sie sich über SSH bei Ihrem Server an. Sie können jederzeit den folgenden Befehl verwenden, um die neueste Version von Matomo auf Ihren Server herunterzuladen. Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste Version Matomo 3.7, die mit einer neuen Funktion ausgestattet ist – dem Tag-Manager. Es ist einer der größten Meilensteine ​​für Matomo in den letzten Jahren.

wget https://builds.matomo.org/matomo-latest.zip

Entpacken Sie das Archiv nach dem Herunterladen mit unzip .

sudo apt install unzip

sudo unzip matomo-latest.zip -d /var/www/

Das -d Option gibt das Zielverzeichnis an. Matomo-Webdateien werden nach /var/www/matomo/ extrahiert . Dann müssen wir den Eigentümer dieses Verzeichnisses auf www-data ändern damit der Webserver (Nginx) in dieses Verzeichnis schreiben kann.

sudo chown www-data:www-data /var/www/matomo/ -R

Schritt 2:Erstellen Sie eine Datenbank und einen Benutzer in MariaDB

Melden Sie sich mit dem folgenden Befehl beim MariaDB-Datenbankserver an. Da MariaDB jetzt unix_socket verwendet Plugin für die Benutzeranmeldung zur Authentifizierung müssen Sie das MariaDB-Root-Passwort nicht eingeben. Wir müssen nur mysql voranstellen Befehl mit sudo .

sudo mysql

Alternativ können Sie sich auch mit diesem Befehl anmelden.

sudo mariadb

Erstellen Sie dann eine Datenbank für Matomo. Dieses Tutorial nennt die Datenbank matomo . Sie können einen beliebigen Namen verwenden.

create database matomo;

Erstellen Sie den Datenbankbenutzer. Auch hier können Sie Ihren bevorzugten Namen für diesen Benutzer verwenden. Ersetzen Sie your-password mit Ihrem bevorzugten Passwort.

create user matomouser@localhost identified by 'your-password';

Gewähren Sie diesem Benutzer alle Rechte auf matomo Datenbank.

grant all privileges on matomo.* to matomouser@localhost identified by 'your-password';

Berechtigungen leeren und beenden.

flush privileges;

exit;

Schritt 3:Apache- oder Nginx-Konfigurationsdatei erstellen

Apache

Wenn Sie den Apache-Webserver bevorzugen, erstellen Sie eine virtuelle Host-Konfigurationsdatei in /etc/apache2/sites-available/ Verzeichnis.

sudo nano /etc/apache2/sites-available/matomo.conf

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie den rot eingefärbten Text durch Ihre tatsächlichen Daten. Vergessen Sie nicht, einen A-Eintrag für den Domainnamen festzulegen.

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName analytics.example.com
        DocumentRoot /var/www/matomo/

        <Directory /var/www/matomo>
           DirectoryIndex index.php
           Options FollowSymLinks
           AllowOverride All
           Require all granted
        </Directory>

        <Files "console">
           Options None
           Require all denied
        </Files>

        <Directory /var/www/matomo/misc/user>
           Options None
           Require all granted
        </Directory>

        <Directory /var/www/matomo/misc>
           Options None
           Require all denied
        </Directory>

        <Directory /var/www/matomo/vendor>
           Options None
           Require all denied
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/matomo_error.log
        CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined

</VirtualHost>

Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host.

sudo a2ensite matomo.conf

Laden Sie den Apache-Webserver neu, damit die Änderung wirksam wird.

sudo systemctl reload apache2

Nginx

Wenn Sie lieber den Nginx-Webserver verwenden, erstellen Sie eine matomo.conf Datei in /etc/nginx/conf.d/ Verzeichnis.

sudo nano /etc/nginx/conf.d/matomo.conf

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie den rot eingefärbten Text durch Ihre tatsächlichen Daten. Vergessen Sie nicht, einen A-Eintrag für den Domainnamen festzulegen.

server {
    listen [::]:80; # remove this if you don't want Matomo to be reachable from IPv6
    listen 80;
    server_name analytics.example.com;

    access_log /var/log/nginx/matomo.access.log;
    error_log /var/log/nginx/matomo.error.log;

    root /var/www/matomo/; 
    
    index index.php;
        
    ## only allow accessing the following php files
    location ~ ^/(index|matomo|piwik|js/index).php {
        include snippets/fastcgi-php.conf;
        fastcgi_param HTTP_PROXY ""; # prohibit httpoxy: https://httpoxy.org/
        fastcgi_pass unix:/run/php/php7.2-fpm.sock; 
    }
    
    ## needed for HeatmapSessionRecording plugin
    location = /plugins/HeatmapSessionRecording/configs.php { 
        include snippets/fastcgi-php.conf;
        fastcgi_param HTTP_PROXY "";
        fastcgi_pass unix:/run/php/php7.2-fpm.sock; 
    }
    
    ## deny access to all other .php files
    location ~* ^.+\.php$ {
        deny all;
        return 403;
    }

    ## serve all other files normally 
    location / {
        try_files $uri $uri/ =404;
    }
    
    ## disable all access to the following directories 
    location ~ /(config|tmp|core|lang) {
        deny all;
        return 403; # replace with 404 to not show these directories exist
    }
    location ~ /\.ht {
        deny  all;
        return 403;
    }

    location ~ \.(gif|ico|jpg|png|svg|js|css|htm|html|mp3|mp4|wav|ogg|avi|ttf|eot|woff|woff2|json)$ {
        allow all;
        ## Cache images,CSS,JS and webfonts for an hour
        ## Increasing the duration may improve the load-time, but may cause old files to show after an Matomo upgrade
        expires 1h;
        add_header Pragma public;
        add_header Cache-Control "public";
    }

    location ~ /(libs|vendor|plugins|misc/user) {
        deny all;
        return 403;
    }

    ## properly display textfiles in root directory
    location ~/(.*\.md|LEGALNOTICE|LICENSE) {
        default_type text/plain;
    }
}

Speichern und schließen Sie die Datei. Testen Sie die Nginx-Konfiguration und laden Sie dann Nginx neu, damit die Änderungen wirksam werden.

sudo nginx -t

sudo systemctl reload nginx

Schritt 4:PHP-Module installieren und aktivieren

Führen Sie die folgenden Befehle aus, um die von Matomo erforderlichen oder empfohlenen PHP-Module zu installieren.

sudo apt install php-imagick php7.2-mysql php7.2-fpm php7.2-common php7.2-gd php7.2-json php7.2-curl  php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-intl

Wenn Sie den Apache-Webserver verwenden, müssen Sie ihn neu laden, damit er mit diesen PHP-Modulen ausgeführt werden kann.

sudo systemctl reload apache2

Nginx-Benutzer müssen nicht neu laden.

Jetzt sollten Sie den webbasierten Installationsassistenten von Matomo unter http://analytics.example.com aufrufen können , aber bevor Sie Informationen eingeben, aktivieren wir HTTPS.

Schritt 5:HTTPS aktivieren

Um den HTTP-Verkehr zu verschlüsseln, wenn Sie die Matomo-Weboberfläche besuchen, können wir HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat installieren, das von Let’s Encrypt ausgestellt wurde. Führen Sie die folgenden Befehle aus, um den Let’s Encrypt-Client (certbot) auf Ubuntu 18.04 zu installieren.

sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install certbot

Wenn Sie Nginx verwenden, müssen Sie auch das Certbot Nginx-Plugin installieren.

sudo apt install python3-certbot-nginx

Führen Sie dann den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d analytics.example.com

Wenn Sie Apache verwenden, müssen Sie auch das Certbot-Apache-Plugin installieren.

sudo apt install python3-certbot-apache

Führen Sie dann diesen Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d analytics.example.com

Erklärung:

  • --nginx :Verwenden Sie das nginx-Plugin.
  • --apache :Verwenden Sie das Apache-Plugin.
  • --agree-tos :Nutzungsbedingungen akzeptieren.
  • --redirect :HTTPS durch 301-Umleitung erzwingen.
  • --hsts : Fügen Sie den Strict-Transport-Security-Header zu jeder HTTP-Antwort hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.
  • --staple-ocsp : Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.

Das Zertifikat sollte nun abgerufen und automatisch installiert werden.

Schritt 6:Beenden Sie die Installation in Ihrem Webbrowser

Gehen Sie zu https://analytics.example.com um den webbasierten Installationsassistenten zu starten. Klicken Sie dann auf Next Schaltfläche.

Es wird überprüft, ob Ihr System die Anforderungen wie PHP-Erweiterungen erfüllt. Wenn alle Anforderungen erfüllt sind, klicken Sie auf Next .

Geben Sie im nächsten Schritt den zuvor erstellten MariaDB-Benutzernamen, das Passwort und den Datenbanknamen ein. Sie können den Standardwert in anderen Feldern verwenden.

Nachdem Sie auf Weiter geklickt haben, erstellt der Installationsassistent automatisch einige Tabellen in der Datenbank. Klicken Sie auf Next um fortzufahren.

Erstellen Sie im nächsten Bildschirm einen Admin-Benutzer für die Matomo-Weboberfläche.

Nachdem Sie den Admin-Benutzer erstellt haben, müssen Sie eine Website hinzufügen, um Analysedaten zu sammeln.

Anschließend müssen Sie den JavaScript-Tracking-Code zu Ihrer Website hinzufügen.

Sobald das erledigt ist. Klicken Sie auf die Schaltfläche Weiter und Ihre Matomo-Installation ist abgeschlossen. Jetzt können Sie sich im Matomo-Dashboard anmelden und Besucherdaten einsehen.

Cron-Jobs für Websites mit mittlerem und hohem Traffic einrichten

Wenn Ihre Website Tausende von Seitenaufrufen pro Tag hat, müssen Sie einen Cron-Job einrichten, um Matomo-Berichte automatisch zu archivieren. Erstellen Sie die Cron-Job-Datei mit dem folgenden Befehl.

sudo nano /etc/cron.d/matomo-archive

Fügen Sie dann die folgenden Zeilen zur Datei hinzu.

MAILTO="[email protected]"
5 * * * * www-data /usr/bin/php /var/www/matomo/console core:archive --url=https://analytics.example.com > /dev/null

Die Standardausgabe wird an /dev/null gesendet und die Standardfehlermeldung wird an Ihre E-Mail-Adresse gesendet. Speichern und schließen Sie die Datei. Dieser Cron-Job wird jede Stunde um 5 Minuten nach ausgeführt.

E-Mail-Benachrichtigung einrichten

Wenn es mehr als einen Benutzer gibt, ist es eine gute Idee, Matomo in die Lage zu versetzen, E-Mail-Benachrichtigungen wie E-Mails zum Zurücksetzen von Passwörtern zu senden. Wie Sie einen E-Mail-Server einrichten, erfahren Sie im folgenden Tutorial. Hinweis dass ich dringend empfehle, den iRedMail-Mailserver auf einem frischen, sauberen Betriebssystem auszuführen. Die Installation von iRedMail auf einem Betriebssystem mit anderen Webanwendungen kann fehlschlagen und wahrscheinlich vorhandene Anwendungen beschädigen.

  • So richten Sie mit iRedMail ganz einfach einen voll funktionsfähigen Mailserver unter Ubuntu 18.04 ein

Wenn Sie keinen eigenen E-Mail-Server betreiben möchten, können Sie stattdessen SMTP-Relay einrichten. Bitte sehen Sie sich das folgende Tutorial an.

  • So richten Sie Postfix SMTP-Relay auf einem Ubuntu 18.04-Server ein

So richten Sie eine genaue Geolokalisierung mit GeoIP ein

Standardmäßig errät Matomo den Standort der Besucher basierend auf der Sprache, die sie verwenden. Dies ist nicht korrekt. Beispielsweise wählen viele Nicht-US-Besucher En-US als Standardsprache für ihr Betriebssystem, sodass im Matomo-Bericht mehr „US-Besucher“ angezeigt werden.

Um eine bessere Geolokalisierung zu erhalten, klicken Sie in Matomo auf das Zahnradsymbol (Verwaltung) und gehen Sie zu System -> Geolocation . Laden Sie dann die neueste Maxmind GeoIP-Datenbank auf Ihren Server herunter.

wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz

Extrahieren Sie den Tarball.

tar xvf GeoLite2-City.tar.gz

Der Tarball wird in ein Verzeichnis namens GeoLite2-City_20190226 extrahiert . Verschieben Sie dann die Datei GeoLite2-City.mmdb nach /var/www/matomo/misc/ Verzeichnis.

sudo mv GeoLite2-City_20190226/GeoLite2-City.mmdb /var/www/matomo/misc/

Laden Sie nun die Matomo Geolocation-Einstellungsseite neu. Wählen Sie den zweiten Standortanbieter:GeoIP 2 (Php)

Klicken Sie auf die Schaltfläche Speichern, um Ihre Einstellungen zu speichern. Im unteren Teil dieser Seite können Sie auch die Download-URL eingeben, damit Matomo die GeoIP-Datenbank automatisch aktualisieren kann.

Andere Dinge zu tun

  • Abonnieren Sie den Matomo-Änderungsprotokoll-RSS-Feed, um benachrichtigt zu werden, wenn eine neue Version herauskommt.
  • Prüfen Sie die Matomo-Sicherheitstipps.
  • Lesen Sie die Tipps zur Leistungsoptimierung von Matomo.

Das ist es! Ich hoffe, dieses Tutorial hat Ihnen geholfen, Matomo auf einem Ubuntu 18.04-Server mit Apache oder Nginx zu installieren. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten. Pass auf dich auf 🙂


Ubuntu
  1. So installieren Sie den Nginx-Webserver unter Ubuntu 18.04

  2. So installieren Sie Jenkins Automation Server mit Apache unter Ubuntu 16.04

  3. Installieren Sie den Apache-Webserver auf Ubuntu 12.10

  4. So installieren Sie Matomo Web Analytics unter Ubuntu 20.04

  5. Installieren Sie phpMyAdmin auf Ubuntu 20.04 mit Nginx

Installieren Sie Matomo Web Analytics (Piwik) auf Ubuntu 20.04 mit Apache/Nginx

So installieren Sie InvoiceNinja auf Ubuntu 20.04 Server mit Apache/Nginx

Befehle zum Installieren des Apache-Webservers auf Ubuntu 22.04 oder 20.04 LTS

So installieren Sie den Apache-Webserver unter Ubuntu 18.04

So installieren Sie den Nginx-Webserver unter Ubuntu 20.04

So installieren Sie den Apache-Webserver unter Ubuntu 20.04