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 🙂