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 jedné nebo více webů a zobrazuje zprávy o těchto návštěvách za účelem analýzy. 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 Ubuntu 18.04 LTS 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 Ubuntu 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 Ubuntu 18.04.
- Uživatel bez oprávnění root s právy sudo.
Počáteční kroky
Zkontrolujte svou verzi Ubuntu:
lsb_release -ds
# Ubuntu 18.04.1 LTS
Nastavte časové pásmo:
sudo dpkg-reconfigure tzdata
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 apt update && sudo apt upgrade -y
Nainstalujte některé základní balíčky, které jsou nezbytné pro základní správu operačního systému Ubuntu:
sudo apt install -y curl wget vim git unzip socat
Krok 1 – Instalace MySQL a vytvoření databáze pro Matomo
Matomo podporuje databáze MySQL a MariaDB. V tomto tutoriálu použijeme MySQL jako databázový server.
Nainstalujte databázový server MySQL:
sudo apt install -y mysql-server
Zkontrolujte verzi MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper
Spusťte mysql_secure installation
skript pro zlepšení zabezpečení MySQL a nastavení hesla pro MySQL 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í MySQL jako uživatel root:
sudo mysql -u root -p
# Enter password
Vytvořte prázdnou databázi MySQL a uživatele pro Matomo a zapamatujte si přihlašovací údaje:
mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
Ukončete MySQL:
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 apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php7.2-xml php7.2-mbstring php7.2-mysql
Zkontrolujte verzi PHP:
php --version
# PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
Služba PHP-FPM se automaticky spouští a povoluje při restartu na systému Ubuntu 18.04, takže ji není nutné spouštět a povolovat ručně. 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 populárními softwarem webových serverů. V tomto tutoriálu jsme vybrali Nginx.
Stáhněte a nainstalujte nejnovější hlavní vydání Nginx z úložiště Ubuntu:
sudo apt install -y nginx
Zkontrolujte verzi Nginx:
sudo nginx -v
# nginx version: nginx/1.14.0
Nakonfigurujte Nginx pro Matomo spuštěním:
sudo vim /etc/nginx/sites-available/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 {
include snippets/fastcgi-php.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location = /plugins/HeatmapSessionRecording/configs.php {
include snippets/fastcgi-php.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/var/run/php/php7.2-fpm.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.
Aktivujte nový matomo.conf
konfiguraci propojením souboru s sites-enabled
adresář.
sudo ln -s /etc/nginx/sites-available/matomo.conf /etc/nginx/sites-enabled
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
do adresáře www-data
uživatel:
sudo chown -R www-data:www-data /var/www/matomo
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