Matomo (ehemals Piwik) ist eine kostenlose Open-Source-Webanalyseanwendung, 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 verfügbar. Einige der Funktionen, die es hat, sind A/B-Tests, Heatmaps, Trichter, Tracking- und Reporting-API, Google AdWords, Facebook-Anzeigen, Bing-Anzeigen, Cost-per-Click (CPC) usw. Dieses Tutorial zeigt Ihnen, wie Sie Matomo installieren ein CentOS 7-System mit Nginx als Webserver und wir sichern die Website mit einem SSL-Zertifikat von Let's Encrypt.
Anforderungen
Um Matomo (Piwik) auf Ihrem CentOS 7-System auszuführen, benötigen Sie ein paar Dinge:
- Webserver wie Apache, Nginx, IIS.
- PHP-Version 5.5.9 oder höher mit den Erweiterungen pdo und pdo_mysql oder mysqli, gd, xml, curl und mbsting. PHP 7+ wird empfohlen.
- MySQL-Version 5.5 oder höher oder die entsprechende MariaDB-Version. MySQL 5.7+ wird empfohlen.
Voraussetzungen
- Ein Betriebssystem, auf dem CentOS 7 ausgeführt wird.
- Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.
Erste Schritte
Überprüfen Sie Ihre CentOS-Version:
cat /etc/centos-release
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, da dadurch sichergestellt wird, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:
sudo yum update -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des CentOS-Betriebssystems erforderlich sind:
sudo yum install -y curl wget vim git unzip socat epel-release
Schritt 1 – MariaDB installieren und eine Datenbank für Matomo erstellen
Matomo unterstützt MySQL- und MariaDB-Datenbanken. In dieser Anleitung verwenden wir MariaDB als Datenbankserver.
Erstellen Sie das MariaDB 10.2 YUM-Repository für CentOS:
sudo vim /etc/yum.repos.d/MariaDB.repo
Kopieren Sie den folgenden Text und fügen Sie ihn ein:
# MariaDB 10.2 CentOS repository list - created 2017-12-11 23:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name=MariaDB
baseurl=https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Nachdem die Datei vorhanden ist, installieren Sie MariaDB, indem Sie Folgendes ausführen:
sudo yum install -y MariaDB-server MariaDB-client
Überprüfen Sie die MariaDB-Version:
mysql --version
# mysql Ver 15.1 Distrib 10.2.21-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
Führen Sie mysql_secure installation
aus Skript, um die MariaDB-Sicherheit zu verbessern und das Passwort für MariaDB root
festzulegen Benutzer:
sudo mysql_secure_installation
Beantworten Sie jede der Fragen:
Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
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
Stellen Sie als Root-Benutzer eine Verbindung zur MariaDB-Shell her:
sudo mysql -u root -p
# Enter password
Erstellen Sie eine leere MariaDB-Datenbank und einen Benutzer für Matomo und merken Sie sich die Anmeldedaten:
MariaDB [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
Beenden Sie MariaDB:
MariaDB [(none)]> exit
Ersetzen Sie dbname
, username
und password
mit Ihren eigenen Namen.
Schritt 2 – Installiere PHP und notwendige PHP-Erweiterungen
Richten Sie das Webtatic YUM-Repo ein:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-curl php72w-gd php72w-xml php72w-mbstring php72w-mysqlnd php72w-json
Um PHP in Modulen kompiliert anzuzeigen, können Sie Folgendes ausführen:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Ü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 mit dem nächsten Schritt fortfahren, dem Erhalt kostenloser SSL-Zertifikate von Let's Encrypt CA.
Schritt 3 – Installieren Sie acme.sh
Client und erhalten Sie das Let's Encrypt-Zertifikat (optional )
Das Sichern Ihrer Website mit HTTPS ist nicht erforderlich, aber es ist eine bewährte Methode, den Datenverkehr Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let’s Encrypt zu erhalten, verwenden wir den Acme.sh-Client. Acme.sh ist eine reine UNIX-Shell-Software zum Abrufen 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 [email protected]
cd ~
Überprüfen Sie die Acme.sh-Version:
/etc/letsencrypt/acme.sh --version
# v2.8.0
Fordern Sie RSA an und ECC/ECDSA Zertifikate für Ihre Domain/Ihren Hostnamen:
# 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, werden Ihre Zertifikate und Schlüssel wird sein in:
- Für RSA :
/etc/letsencrypt/example.com
Verzeichnis. - Für ECC/ECDSA :
/etc/letsencrypt/example.com_ecc
Verzeichnis.
Schritt 3 – NGINX installieren und NGINX für Matomo konfigurieren
Matomo funktioniert gut mit vielen gängigen Webserver-Software. In diesem Tutorial haben wir Nginx ausgewählt.
Laden Sie Nginx aus dem CentOS-Repository herunter und installieren Sie es:
sudo yum install -y nginx
Überprüfen Sie die Nginx-Version:
sudo nginx -v
Nginx-Dienst starten und aktivieren:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Konfigurieren Sie Nginx für Matomo, indem Sie Folgendes 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 127.0.0.1:9000;
}
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 127.0.0.1:9000;
}
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 produktionsbereite 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 Sie /var/www
Verzeichnis:
sudo mkdir -p /var/www/
Navigieren Sie zu /var/www
Verzeichnis:
cd /var/www/
Laden Sie die neueste Version von Matomo über wget herunter und entpacken Sie es:
sudo wget https://builds.matomo.org/matomo.zip && sudo unzip matomo.zip
Heruntergeladene matomo.zip
entfernen Datei:
sudo rm matomo.zip
Ändern Sie den Besitz von /var/www/matomo
Verzeichnis zu nginx
Benutzer:
sudo chown -R nginx:nginx /var/www/matomo
Führen Sie sudo vim /etc/php-fpm.d/www.conf
aus und setzen Sie Benutzer und Gruppe auf nginx
. Anfänglich wird es auf Benutzer und Gruppe apache
festgelegt .
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 – Schließen Sie die Einrichtung von Matomo Analytics ab
Öffnen Sie Ihre Website in einem Webbrowser und folgen Sie dem Matomo-Webinstallationsassistenten.
Zuerst sollte die Begrüßungsnachricht von Matomo erscheinen. Klicken Sie auf "Weiter" Schaltfläche:
Danach sehen Sie eine "Systemprüfung" Seite. Wenn etwas fehlt, sehen Sie eine Warnung. Wenn alles mit einem grünen Häkchen markiert ist, klicken Sie auf "Weiter" Schaltfläche, um zum nächsten Schritt zu gelangen:
Geben Sie als Nächstes die Datenbankdetails ein und klicken Sie auf "Weiter" Schaltfläche:
Wenn bei der Einrichtung der Datenbank alles gut gelaufen ist, sollten Sie " sehen Tabellen erfolgreich erstellt!" Nachricht:
Erstellen Sie ein Matomo-Superuser-Konto und klicken Sie auf "Weiter" Schaltfläche:
Richten Sie als Nächstes die erste Website ein, die Sie mit Matomo verfolgen und analysieren möchten. Später können Sie weitere Websites hinzufügen, die mit Matomo verfolgt werden sollen:
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.
Als nächstes sollten Sie sehen, dass die Matomo-Installation abgeschlossen ist.
Herzliche Glückwünsche! Ihre Matomo-Installation ist abgeschlossen.
Links
- https://matomo.org/
- https://github.com/matomo-org/matomo
- https://github.com/matomo-org/matomo-nginx