Dieses Tutorial zeigt Ihnen, wie Sie die Matomo-Webanalyse installieren (früher bekannt als Piwik) auf Ubuntu 20.04 mit Apache- oder Nginx-Webserver. Matomo ist eine Open-Source-Alternative zu Google Analytics , die am weitesten verbreitete 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-Software betreiben. 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, Betriebssysteme, Browser-Marktanteil, Bildschirmauflösung, Desktop vs. Mobil.
- 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.
- Ein benutzerfreundlicher webbasierter Updater. Ein Befehlszeilen-Updater ist ebenfalls verfügbar.
- 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 die Absprungrate und Ausstiegsrate für jede Webseite sowie die Echtzeit-Besucherkarte anzeigen kann.
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 speichern wie Ihr Server.
- 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 20.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 sie Whois-Datenschutz lebenslang kostenlos bieten. Ein Server mit 1 GB 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 20.04 eingerichtet haben. Falls nicht, sehen Sie sich bitte eines der folgenden Tutorials an:
- So installieren Sie den LAMP-Stack auf einem Ubuntu 20.04-Server
- So installieren Sie den LEMP-Stack auf einem Ubuntu 20.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 20.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.
wget https://builds.matomo.org/matomo-latest.zip
Entpacken Sie das Archiv nach dem Herunterladen mit unzip
.
sudo apt install unzip sudo mkdir -p /var/www/ 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 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.
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;
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 analytics.example.com
mit eigenem Domainnamen. Vergessen Sie nicht, in Ihrem DNS-Manager einen 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 analytics.example.com
mit eigenem Domainnamen. Vergessen Sie nicht, in Ihrem DNS-Manager einen Eintrag für den Domainnamen festzulegen.
server { listen [::]:80; 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.4-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.4-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.4-mysql php7.4-fpm php7.4-common php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-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 20.04 zu installieren.
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 jeder HTTP-Antwort den Strict-Transport-Security-Header 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.
Benutzer mit deaktiviertem JavaScript verfolgen
Klicken Sie in der Matomo-Weboberfläche auf das Zahnradsymbol in der oberen rechten Ecke und gehen Sie dann zu Websites -> Tracking-Code , und Sie können Benutzer mit deaktiviertem JavaScript nachverfolgen.
Es wird einen neuen Tracking-Code geben. Sie müssen den vorhandenen Tracking-Code durch den neuen ersetzen. Tatsächlich fügt der neue Tracking-Code nur die folgende Zeile zum vorhandenen Tracking-Code hinzu.
<noscript><p><img src="//analytics.example.com/matomo.php?idsite=1&rec=1" border:0;" alt="" /></p></noscript>
Wenn ein Besucher JavaScript deaktiviert hat oder JavaScript nicht verwendet werden kann, lädt der Browser des Besuchers ein Bild herunter.
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 20.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 20.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, können wir die kostenlose IP-Datenbank MaxMind GeoLite2 verwenden.
Zuerst müssen Sie ein Konto bei MaxMind erstellen. Maxmind sendet Ihnen eine E-Mail. Klicken Sie auf den Link in der E-Mail, um ein Passwort festzulegen, und melden Sie sich dann bei Ihrem MaxMind-Konto an. Wählen Sie als Nächstes My License Key
auf der linken Leiste.
Klicken Sie auf Neuen Lizenzschlüssel generieren Schaltfläche.
Geben Sie Ihrem Lizenzschlüssel einen Namen und wählen Sie „No
” für „Wird dieser Schlüssel für die GeoIP-Aktualisierung verwendet?“ Klicken Sie dann auf Confirm
Taste. Ihr Lizenzschlüssel wird angezeigt. Beachten Sie, dass der Lizenzschlüssel nur einmal angezeigt wird, kopieren Sie ihn also in Ihre Zwischenablage.
Klicken Sie als Nächstes auf das Zahnradsymbol (Administration) in der Matomo-Weboberfläche, gehen Sie zu System
-> Geolocation
. Laden Sie dann die neueste Maxmind GeoIP-Datenbank auf Ihren Server herunter. Ersetzen Sie your_license_key durch Ihren echten Lizenzschlüssel.
wget -O GeoLite2-City.tar.gz 'https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&suffix=tar.gz&license_key=your_license_key'
Extrahieren Sie den Tarball.
tar xvf GeoLite2-City.tar.gz
Der Tarball wird in ein Verzeichnis namens GeoLite2-City_20200814
entpackt . Verschieben Sie dann die Datei GeoLite2-City.mmdb nach /var/www/matomo/misc/
Verzeichnis.
sudo mv GeoLite2-City_20200814/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.
- Die MaxMind-Download-URL lautet:https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&suffix=tar.gz&license_key=your_license_key
- Aktualisiere die Datenbank jede Woche.
Matomo hinter Cloudflare CDN ausführen
Wenn Matomo hinter Cloudflare CDN läuft, kann Matomo nur die IP-Adresse der Cloudflare-Server sehen. Um die echte IP-Adresse der Besucher in Nginx anzuzeigen, bearbeiten Sie die Hauptkonfigurationsdatei von Nginx.
sudo nano /etc/nginx/nginx.conf
Fügen Sie die folgenden Anweisungen in http hinzu Abschnitt.
set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; set_real_ip_from 104.16.0.0/12; set_real_ip_from 108.162.192.0/18; set_real_ip_from 131.0.72.0/22; set_real_ip_from 141.101.64.0/18; set_real_ip_from 162.158.0.0/15; set_real_ip_from 172.64.0.0/13; set_real_ip_from 173.245.48.0/20; set_real_ip_from 188.114.96.0/20; set_real_ip_from 190.93.240.0/20; set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 199.27.128.0/21; set_real_ip_from 2400:cb00::/32; set_real_ip_from 2606:4700::/32; set_real_ip_from 2803:f800::/32; set_real_ip_from 2405:b500::/32; set_real_ip_from 2405:8100::/32; set_real_ip_from 2c0f:f248::/32; set_real_ip_from 2a06:98c0::/29; # use any of the following two real_ip_header CF-Connecting-IP; #real_ip_header X-Forwarded-For;
set_real_ip_from definiert vertrauenswürdige Adressen, in diesem Fall Cloudflare-IP-Adressen, von denen bekannt ist, dass sie korrekte Ersatzadressen senden. Speichern und schließen Sie die Datei. Laden Sie dann Nginx neu, damit die Änderungen wirksam werden.
sudo systemctl reload nginx
Sie können die IP-Adressen der Besucher im Dashboard von Matomo überprüfen -> Besucher -> Besuchsprotokoll .
Sie können auch die aktuellen IP-Bereiche von Cloudflare überprüfen.
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 20.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 🙂