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í, které má, jsou: A/B testování, Heatmaps, Funnels, 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 Fedora 29 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 Fedora 29 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 Fedora 29.
- Uživatel bez oprávnění root s právy sudo.
Počáteční kroky
Zkontrolujte svou verzi Fedory:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
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 dnf check-update; sudo dnf update -y
Nainstalujte některé základní balíčky, které jsou nezbytné pro základní správu operačního systému Fedora:
sudo dnf install -y curl wget vim git unzip socat
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.
Nainstalujte databázový server MariaDB:
sudo dnf install -y mariadb-server
Zkontrolujte verzi MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.3.11-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:
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
Připojte se k prostředí 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> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;
Ukončete MariaDB:
mysql> exit
Nahraďte dbname
, username
a password
s vašimi vlastními jmény.
Krok 2 – Instalace PHP a nezbytných rozšíření PHP
Nainstalujte PHP a také potřebná rozšíření PHP:
sudo dnf install -y php php-cli php-fpm php-common php-curl php-gd php-xml php-mbstring php-mysqlnd php-json
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í certifikátu TLS 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ě Fedory:
sudo dnf install -y nginx
Zkontrolujte verzi Nginx:
sudo nginx -v
# nginx version: nginx/1.14.1
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 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;
}
}
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 super už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