So installieren Sie Matomo Web Analytics auf Fedora 29

Matomo (ehemals Piwik) ist eine freie und Open Source Software.Webanalyseapplikation, die von einem Team internationaler Entwickler entwickelt wurde und auf einem PHP/MySQL-Webserver läuft. Es verfolgt Online-Besuche auf einer oder mehreren Websites und zeigt Berichte über diese Besuche zur Analyse an. Sie können es sich als Alternative zu Google Analytics vorstellen. Matomo ist Open Source und sein Code ist auf Github öffentlich zugänglich. Einige der Funktionen sind: A/B Testing, Heatmaps, Funnels, Tracking and Reporting API, Google AdWords, Facebook Ads, Bing Ads, Cost Per Click (CPC), etc. Dieses Tutorial zeigt Ihnen, wie Sie Matomo auf einem Fedora 29-System mit Nginx als Webserver installieren können und wir sichern die Website mit einem Let’s Encrypt SSL-Zertifikat.

Anforderungen

Um Matomo (Piwik) auf Ihrem Fedora 29-System laufen zu lassen, benötigen Sie ein paar Dinge:

  • Webserver wie Apache, Nginx, IIS.
  • PHP Version 5.5.9 oder höher mit pdo und pdo_mysql oder mysqli, gd, xml, curl und mbsting Erweiterungen. PHP 7+ wird empfohlen.
  • MySQL Version 5.5 oder höher oder die entsprechende MariaDB-Version. MySQL 5.7+ wird empfohlen.

Voraussetzungen

  • Ein Betriebssystem mit Fedora 29.
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.

Erste Schritte

Überprüfen Sie Ihre Fedora-Version:

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Richten Sie die Zeitzone ein:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, denn es stellt sicher, dass Sie die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems erhalten:

sudo dnf check-update; sudo dnf update -y

Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Fedora-Betriebssystems erforderlich sind:

sudo dnf install -y curl wget vim git unzip socat

Schritt 1 – MariaDB installieren und eine Datenbank für Matomo erstellen

Matomo unterstützt MySQL- und MariaDB-Datenbanken. In diesem Tutorial verwenden wir MariaDB als Datenbankserver.

Installieren Sie einen MariaDB-Datenbankserver:

sudo dnf install -y mariadb-server

Überprüfen Sie die MariaDB-Version:

mysql --version
# mysql  Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1

Starten und aktivieren Sie den MariaDB-Dienst:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Laufenmysql_secure installationSkript zur Verbesserung der MariaDB-Sicherheit und zur Festlegung des Passworts für MariaDBrootBenutzer:

sudo mysql_secure_installation

Beantworten Sie jede der Fragen:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Verbinden Sie sich mit der MariaDB-Shell als Root-Benutzer:

sudo mysql -u root -p
# Enter password

Erstellen Sie eine leere MariaDB-Datenbank und einen leeren Benutzer für Matomo und merken Sie sich die Zugangsdaten:

MariaDB> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;

Verlassen Sie MariaDB:

mysql> exit

Ersetzen Sie,dbnameundusernamedurch Ihre eigenenpasswordNamen.

Schritt 2 – Installieren Sie PHP und die notwendigen PHP-Erweiterungen.

Installieren Sie PHP sowie die notwendigen PHP-Erweiterungen:

sudo dnf install -y php php-cli php-fpm php-common php-curl php-gd php-xml php-mbstring php-mysqlnd php-json

Überprüfen Sie die PHP-Version:

php --version

 

# PHP 7.2.14 (cli) (built: Jan  8 2019 09:59:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Starten und aktivieren Sie den PHP-FPM-Dienst:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Wir können zum nächsten Schritt übergehen, nämlich dem Erhalt kostenloser SSL-Zertifikate von Let’s Encrypt CA.

Schritt 3 – Client installierenacme.shund Let’s Encrypt Zertifikat erhalten (optional)

Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Vorgehensweise, um den Traffic Ihrer Website zu sichern. Um das TLS-Zertifikat von Let’s Encrypt zu erhalten, werden wir den Acme.sh-Client verwenden. Acme.sh ist eine reine UNIX-Shell-Software zum Erhalten von TLS-Zertifikaten von Let’s Encrypt ohne Abhängigkeiten.

Laden Sie Acme.sh herunter und installieren Sie es:

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail your_email@example.com
cd ~

Überprüfen Sie die Version von Acme.sh:

/etc/letsencrypt/acme.sh --version
# v2.8.0

Besorgen Sie sich RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Hostname:

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256

Nachdem Sie die obigen Befehle ausgeführt haben, wird IhrZertifikateundSchlüsselwird drin sein:

  • Für RSA:/etc/letsencrypt/example.comVerzeichnis.
  • Für ECC/ECDSA:/etc/letsencrypt/example.com_eccVerzeichnis.

Schritt 3 – NGINX installieren und NGINX für Matomo konfigurieren

Matomo kann mit vielen gängigen Webserver-Programmen problemlos zusammenarbeiten. In diesem Tutorial haben wir Nginx ausgewählt.

Laden Sie Nginx herunter und installieren Sie es aus dem Fedora-Repository:

sudo dnf install -y nginx

Überprüfen Sie die Nginx-Version:

sudo nginx -v
# nginx version: nginx/1.14.1

Starten und aktivieren Sie den Nginx-Dienst:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Konfigurieren Sie Nginx für Matomo, indem Sie es ausführen:

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

Und füllen Sie die Datei mit der folgenden Konfiguration:

server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
 listen [::]:80;
 listen 80;

 server_name example.com;
 root /var/www/matomo/;
 index index.php;

ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;

location ~ ^/(index|matomo|piwik|js/index).php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/run/php-fpm/www.sock;
}

location = /plugins/HeatmapSessionRecording/configs.php {
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
 fastcgi_param HTTP_PROXY "";
 fastcgi_pass unix:/run/php-fpm/www.sock;
}

 location ~* ^.+\.php$ {
 deny all;
 return 403;
}

 location / {
 try_files $uri $uri/ =404;
}

 location ~ /(config|tmp|core|lang) {
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;
}

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

}

HINWEIS:Für eine vollständige und produktionsreife Nginx-Konfiguration für Matomo besuchen Sie https://github.com/matomo-org/matomo-nginx.

Überprüfen Sie die Nginx-Konfiguration auf Syntaxfehler:

sudo nginx -t

Nginx-Dienst neu laden:

sudo systemctl reload nginx.service

Schritt 4 – Matomo Analytics installieren

Erstellen/var/wwwVerzeichnis:

sudo mkdir -p /var/www/

Navigieren Sie zum/var/wwwVerzeichnis:

cd /var/www/

Laden Sie die neueste Version von Matomo via wget herunter und entpacken Sie sie:

sudo wget https://builds.matomo.org/matomo.zip && sudo unzip matomo.zip

Entfernen Sie heruntergeladenematomo.zipDatei:

sudo rm matomo.zip

Ändern Sie den Besitzer des/var/www/matomoVerzeichnisses auf Benutzer.:

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

Ausführen undsudo vim /etc/php-fpm.d/www.confEinstellen von Benutzer und Gruppe auf . Zunächst wird es auf Benutzer und Gruppe gesetzt.

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Starten Sie den PHP-FPM-Dienst neu.

sudo systemctl restart php-fpm.service

Schritt 5 – Abschluss des Matomo Analytics-Setups

Öffnen Sie Ihre Website in einem Webbrowser und folgen Sie dem Matomo Web Installationsassistenten.

Zuerst sollte die Matomo Willkommensnachricht erscheinen. Klicken Sie auf die Schaltfläche „Weiter:

Matomo Installationsassistent

Danach erscheint eine SeiteSystemprüfung“. Wenn etwas fehlt, erhalten Sie eine Warnung. Wenn alles mit einem grünen Häkchen versehen ist, klicken Sie auf die Schaltfläche „Weiter, um zum nächsten Schritt zu gelangen:

System check

Füllen Sie anschließend die Datenbankdetails aus und klicken Sie auf die Schaltfläche“ Weiter“Taste:

Datenbankeinrichtung

Wenn alles gut gelaufen ist, sollten Sie die Meldung „Tabellen mit Erfolg erstellt“ sehen:

Erstellen von Datenbanktabellen

Erstellen Sie ein Matomo Superuser-Konto und klicken Sie auf das Symbol“ Weiter“Taste:

Superbenutzerkonto erstellen

Als nächstes richten Sie die erste Website ein, die Sie mit Matomo verfolgen und analysieren möchten. Später kannst du weitere Seiten hinzufügen, um mit Matomo zu verfolgen:

Website zu Matomo hinzufügen

Als nächstes erhalten Sie den JavaScript-Tracking-Code für Ihre Website, den Sie hinzufügen müssen, um mit dem Tracking zu beginnen.

Javascript-Tracking-Code

Als nächstes sollten Sie sehen, dass die Matomo-Installation abgeschlossen ist.

Matomo-Installation abgeschlossen

Herzlichen Glückwunsch! Deine Matomo-Installation ist abgeschlossen.

Das könnte Dich auch interessieren …