Matomo (dříve Piwik) je bezplatná a otevřená aplikace pro webovou analýzu vyvinutá týmem mezinárodních vývojářů, která běží na webovém serveru PHP/MySQL. Sleduje online návštěvy jednoho nebo více webových stránek a zobrazuje zprávy o těchto návštěvách pro analýzu. Můžete si to představit jako alternativu k Google Analytics. Matomo je open source a jeho kód je veřejně dostupný na Github. Některé z funkcí jsou – A/B testování, Heatmaps, Trychtýře, Tracking and Reporting API, Google AdWords, Facebook Ads, Bing Ads, Cost Per Click (CPC) atd. Tento návod vám ukáže, jak nainstalovat Matomo na systém CentOS 7 využívající Nginx jako webový server a web zabezpečíme certifikátem Let's Encrypt SSL.
Požadavky
Ke spuštění Matomo (Piwik) na vašem systému CentOS 7 budete potřebovat několik věcí:
- Webový server, jako je Apache, Nginx, IIS.
- PHP verze 5.5.9 nebo vyšší s rozšířeními pdo a pdo_mysql nebo mysqli, gd, xml, curl a mbsting. Doporučuje se PHP 7+.
- MySQL verze 5.5 nebo vyšší nebo ekvivalentní verze MariaDB. Doporučuje se MySQL 5.7+.
Předpoklady
- Operační systém se systémem CentOS 7.
- Uživatel bez oprávnění root s právy sudo.
Počáteční kroky
Zkontrolujte verzi CentOS:
cat /etc/centos-release
Nastavte časové pásmo:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Aktualizujte balíčky operačního systému (software). Toto je důležitý první krok, protože zajišťuje, že máte nejnovější aktualizace a opravy zabezpečení pro výchozí softwarové balíčky vašeho operačního systému:
sudo yum update -y
Nainstalujte si některé základní balíčky, které jsou nezbytné pro základní správu operačního systému CentOS:
sudo yum install -y curl wget vim git unzip socat epel-release
Krok 1 – Instalace MariaDB a vytvoření databáze pro Matomo
Matomo podporuje databáze MySQL a MariaDB. V tomto tutoriálu použijeme MariaDB jako databázový server.
Vytvořte úložiště MariaDB 10.2 YUM pro CentOS:
sudo vim /etc/yum.repos.d/MariaDB.repo
Zkopírujte a vložte do něj následující text:
# 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
Po umístění souboru nainstalujte MariaDB spuštěním:
sudo yum install -y MariaDB-server MariaDB-client
Zkontrolujte verzi MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.2.21-MariaDB, for Linux (x86_64) using readline 5.1
Spusťte a povolte službu MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Spusťte mysql_secure installation
skript pro zlepšení zabezpečení MariaDB a nastavení hesla pro MariaDB root
uživatel:
sudo mysql_secure_installation
Odpovězte na každou z otázek:
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
Připojte se k Shellu MariaDB jako uživatel root:
sudo mysql -u root -p
# Enter password
Vytvořte prázdnou databázi MariaDB a uživatele pro Matomo a zapamatujte si přihlašovací údaje:
MariaDB [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
Ukončete službu MariaDB:
MariaDB [(none)]> exit
Nahraďte dbname
, username
a password
s vašimi vlastními jmény.
Krok 2 – Instalace PHP a nezbytných rozšíření PHP
Nastavte repo Webtatic YUM:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Nainstalujte PHP a také potřebná rozšíření PHP:
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-curl php72w-gd php72w-xml php72w-mbstring php72w-mysqlnd php72w-json
Chcete-li zobrazit PHP zkompilované v modulech, můžete spustit:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Zkontrolujte verzi PHP:
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
Spusťte a povolte službu PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Můžeme přejít k dalšímu kroku, kterým je získání bezplatných certifikátů SSL od Let's Encrypt CA.
Krok 3 – Nainstalujte acme.sh
klienta a získejte certifikát Let's Encrypt (volitelné )
Zabezpečení webu pomocí protokolu HTTPS není nutné, ale je dobrým zvykem zabezpečit provoz na webu. K získání TLS certifikátu od Let's Encrypt použijeme klienta Acme.sh. Acme.sh je čistě unixový shell software pro získávání certifikátů TLS z Let's Encrypt s nulovými závislostmi.
Stáhněte a nainstalujte Acme.sh:
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 ~
Zkontrolujte verzi Acme.sh:
/etc/letsencrypt/acme.sh --version
# v2.8.0
Získejte RSA a ECC/ECDSA certifikáty pro vaši doménu/název hostitele:
# 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
Po spuštění výše uvedených příkazů budou vaše certifikáty a klíče bude v:
- Pro RSA :
/etc/letsencrypt/example.com
adresář. - Pro ECC/ECDSA :
/etc/letsencrypt/example.com_ecc
adresář.
Krok 3 – Instalace NGINX a konfigurace NGINX pro Matomo
Matomo může dobře fungovat s mnoha oblíbenými webovými servery. V tomto tutoriálu jsme vybrali Nginx.
Stáhněte a nainstalujte Nginx z úložiště CentOS:
sudo yum install -y nginx
Zkontrolujte verzi Nginx:
sudo nginx -v
Spusťte a povolte službu Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Nakonfigurujte Nginx pro Matomo spuštěním:
sudo vim /etc/nginx/conf.d/matomo.conf
A naplňte soubor s následující konfigurací:
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;
}
}
POZNÁMKA : Pro kompletní konfiguraci Nginx pro Matomo připravenou k produkci navštivte https://github.com/matomo-org/matomo-nginx.
Zkontrolujte konfiguraci Nginx, zda neobsahuje chyby syntaxe:
sudo nginx -t
Znovu načtěte službu Nginx:
sudo systemctl reload nginx.service
Krok 4 – Instalace Matomo Analytics
Vytvořte /var/www
adresář:
sudo mkdir -p /var/www/
Přejděte na /var/www
adresář:
cd /var/www/
Stáhněte si nejnovější verzi Matomo přes wget a rozbalte ji:
sudo wget https://builds.matomo.org/matomo.zip && sudo unzip matomo.zip
Odstraňte stažený soubor matomo.zip
soubor:
sudo rm matomo.zip
Změňte vlastnictví /var/www/matomo
adresář do nginx
uživatel:
sudo chown -R nginx:nginx /var/www/matomo
Spusťte sudo vim /etc/php-fpm.d/www.conf
a nastavte uživatele a skupinu na nginx
. Zpočátku bude nastaven na uživatele a skupiny apache
.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Restartujte službu PHP-FPM.
sudo systemctl restart php-fpm.service
Krok 5 – Dokončete nastavení Matomo Analytics
Otevřete svůj web ve webovém prohlížeči a postupujte podle průvodce webovou instalací Matomo.
Nejprve by se měla objevit uvítací zpráva Matomo. Klikněte na Další tlačítko:
Poté se zobrazí „Kontrola systému“ strana. Pokud něco chybí, zobrazí se upozornění. Pokud je vše označeno zeleným zaškrtnutím, klikněte na "Další" tlačítkem přejděte k dalšímu kroku:
Dále vyplňte údaje o databázi a klikněte na "Další" tlačítko:
Pokud vše proběhlo v pořádku s nastavením databáze, měli byste vidět " Úspěšně vytvořené tabulky!" zpráva:
Vytvořte superuživatelský účet Matomo a klikněte na "Další" tlačítko:
Dále nastavte první web, který chcete sledovat a analyzovat pomocí Matomo. Později můžete přidat další stránky ke sledování pomocí Matomo:
Dále vám bude poskytnut sledovací kód JavaScript pro váš web, který musíte přidat, abyste mohli začít sledovat.
Dále byste měli vidět, že instalace Matomo je dokončena.
Gratulujeme! Vaše instalace Matomo je dokončena.
Odkazy
- https://matomo.org/
- https://github.com/matomo-org/matomo
- https://github.com/matomo-org/matomo-nginx