Tento tutoriál vám ukáže, jak nainstalovat Matomo web analytics (dříve známý jako Piwik) na Ubuntu 20.04 s webovým serverem Apache nebo Nginx. Matomo je open source alternativa k Google Analytics , což je nejrozšířenější software pro webovou analýzu.
Co je webová analýza?
Webové stránky používají software pro analýzu webu, aby věděly, kolik návštěvníků je na stránce za den/týden/měsíc, jaký webový prohlížeč používají atd. Jde o klíčový software, který pomáhá rozvíjet jejich webové stránky. Google Analytics je skvělá, ale data návštěvníků webu jsou uložena na serveru Google. Pokud nechcete sdílet údaje o návštěvnících svého webu s třetí stranou, můžete spustit vlastní software pro analýzu webu. Jedná se o mnoho alternativ k analýze Google, které si sami hostují, a Matomo je skvělá.
Funkce Matomo
Samoobslužná edice Matomo s otevřeným zdrojovým kódem (licencovaná GPL v3+) může zobrazovat následující přehledy.
- Nejlepší klíčová slova a vyhledávače, webové stránky, webové stránky sociálních médií.
- Adresy URL hlavních stránek, názvy stránek, země uživatelů, poskytovatelé, operační systémy, podíl prohlížečů na trhu, rozlišení obrazovky, stolní počítače a mobilní zařízení.
- Zapojení (doba na webu, počet stránek na návštěvu, opakované návštěvy).
- Nejlepší kampaně, vlastní proměnné, nejlepší vstupní/výstupní stránky, stažené soubory a mnoho dalšího.
- Klasifikováno do čtyř hlavních kategorií analytických přehledů – Návštěvníci, Akce, Odkazující, Cíle/Elektronický obchod (více než 30 přehledů).
- Statistiky E-mailové přehledy.
- Analýza protokolů webového serveru.
- Sledujte návštěvníky, kteří deaktivovali JavaScript.
- Nástroje pro zajištění souladu s GDPR (jako je souhlas se soubory cookie)
- Nainstalujte si bezplatné nebo prémiové pluginy pro rozšíření a rozšíření funkčnosti Matomo.
- Snadno použitelný webový aktualizátor. K dispozici je také aktualizátor příkazového řádku.
- A další.
Úplný seznam funkcí naleznete na stránce funkcí Matomo. Obzvláště se mi líbí skutečnost, že Matomo může zobrazit všechny mé webové stránky podle zobrazení stránek a zobrazit míru okamžitého opuštění a míru odchodu pro každou webovou stránku a také mapu návštěvníků v reálném čase.
Mapa návštěv v reálném čase Matomo
Výhody Matomo s vlastním hostitelem
- Úplná kontrola nad daty. Data jsou uložena pouze na vašem serveru a můžete si vybrat, ve které zemi se server nachází.
- Žádné datové limity. Můžete uchovávat tolik dat, kolik jich dokáže váš server.
- Plně přizpůsobitelné a rozšiřitelné.
- Firefox začal blokovat soubory cookie pro sledování napříč weby, včetně služby Google Analytics. Hostováním analytického softwaru pod vlastním názvem domény nebudou vaše sledovací soubory cookie blokovány.
Matomo hostované v cloudu má další funkce, ale můžete si do své vlastní hostované instance nainstalovat prémiový plugin, abyste získali stejné funkce.
Předpoklady instalace Matomo Web Analytics (Piwik) na Ubuntu 20.04
Abyste mohli postupovat podle tohoto návodu, budete potřebovat název domény a server. Zaregistroval jsem své doménové jméno na NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma. Ke spuštění Matomo stačí server s 1G RAM a zde jsou poskytovatelé hostingu, které doporučuji. Použil jsem je všechny.
- Vultr (začíná na 2,5 $ měsíčně. Vyžaduje kreditní kartu)
- DigitalOcean (Začíná na 5 $ měsíčně. Není vyžadována žádná kreditní karta. Můžete použít Paypal).
Jakmile budete mít server, nainstalujte na něj Ubuntu a postupujte podle pokynů níže.
Matomo je napsáno v PHP a používá databázi MySQL/MariaDB. Chcete-li postupovat podle tohoto návodu, předpokládá se, že jste již nastavili zásobník LAMP nebo LEMP na Ubuntu 20.04. Pokud ne, podívejte se na jeden z následujících výukových programů:
- Jak nainstalovat zásobník LAMP na server Ubuntu 20.04
- Jak nainstalovat zásobník LEMP na server Ubuntu 20.04
Až dokončíte nastavení zásobníku LAMP nebo LEMP, vraťte se sem a čtěte dále.
Krok 1:Stáhněte si Matomo na Ubuntu 20.04
Přihlaste se na svůj server přes SSH. Ke stažení nejnovější verze Matomo na váš server můžete vždy použít následující příkaz.
wget https://builds.matomo.org/matomo-latest.zip
Po stažení rozbalte archiv pomocí unzip
.
sudo apt install unzip sudo mkdir -p /var/www/ sudo unzip matomo-latest.zip -d /var/www/
-d
volba určuje cílový adresář. Webové soubory Matomo budou extrahovány do /var/www/matomo/
. Potom musíme změnit vlastníka tohoto adresáře na www-data
aby webový server mohl zapisovat do tohoto adresáře.
sudo chown www-data:www-data /var/www/matomo/ -R
Krok 2:Vytvořte databázi a uživatele v MariaDB
Přihlaste se k databázovému serveru MariaDB pomocí následujícího příkazu.
sudo mysql
Alternativně můžete také použít tento příkaz k přihlášení.
sudo mariadb
Poté vytvořte databázi pro Matomo. Tento tutoriál pojmenuje databázi matomo
. Můžete použít jakékoli jméno.
create database matomo;
Vytvořte uživatele databáze. Opět můžete pro tohoto uživatele použít preferované jméno. Nahraďte your-password
s vaším preferovaným heslem.
create user matomouser@localhost identified by 'your-password';
Udělte tomuto uživateli všechna oprávnění na matomo
databáze.
grant all privileges on matomo.* to matomouser@localhost;
Vyprázdněte oprávnění a ukončete.
flush privileges; exit;
Krok 3:Vytvořte konfigurační soubor Apache nebo Nginx
Apache
Pokud dáváte přednost použití webového serveru Apache, vytvořte konfigurační soubor virtuálního hostitele v /etc/apache2/sites-available/
adresář.
sudo nano /etc/apache2/sites-available/matomo.conf
Do souboru vložte následující text. Nahraďte analytics.example.com
s vlastním názvem domény. Nezapomeňte ve správci DNS nastavit záznam A pro název domény.
<VirtualHost *:80> ServerAdmin [email protected] ServerName analytics.example.com DocumentRoot /var/www/matomo/ <Directory /var/www/matomo> DirectoryIndex index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> <Files "console"> Options None Require all denied </Files> <Directory /var/www/matomo/misc/user> Options None Require all granted </Directory> <Directory /var/www/matomo/misc> Options None Require all denied </Directory> <Directory /var/www/matomo/vendor> Options None Require all denied </Directory> ErrorLog ${APACHE_LOG_DIR}/matomo_error.log CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined </VirtualHost>
Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.
sudo a2ensite matomo.conf
Znovu načtěte webový server Apache, aby se změna projevila.
sudo systemctl reload apache2
Nginx
Pokud dáváte přednost použití webového serveru Nginx, vytvořte matomo.conf
soubor v /etc/nginx/conf.d/
adresář.
sudo nano /etc/nginx/conf.d/matomo.conf
Do souboru vložte následující text. Nahraďte analytics.example.com
s vlastním názvem domény. Nezapomeňte ve správci DNS nastavit záznam A pro název domény.
server { listen [::]:80; listen 80; server_name analytics.example.com; access_log /var/log/nginx/matomo.access.log; error_log /var/log/nginx/matomo.error.log; root /var/www/matomo/; index index.php; ## only allow accessing the following php files location ~ ^/(index|matomo|piwik|js/index).php { include snippets/fastcgi-php.conf; fastcgi_param HTTP_PROXY ""; # prohibit httpoxy: https://httpoxy.org/ fastcgi_pass unix:/run/php/php7.4-fpm.sock; } ## needed for HeatmapSessionRecording plugin location = /plugins/HeatmapSessionRecording/configs.php { include snippets/fastcgi-php.conf; fastcgi_param HTTP_PROXY ""; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } ## deny access to all other .php files location ~* ^.+\.php$ { deny all; return 403; } ## serve all other files normally location / { try_files $uri $uri/ =404; } ## disable all access to the following directories location ~ /(config|tmp|core|lang) { deny all; return 403; # replace with 404 to not show these directories exist } location ~ /\.ht { 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; ## Cache images,CSS,JS and webfonts for an hour ## Increasing the duration may improve the load-time, but may cause old files to show after an Matomo upgrade expires 1h; add_header Pragma public; add_header Cache-Control "public"; } location ~ /(libs|vendor|plugins|misc/user) { deny all; return 403; } ## properly display textfiles in root directory location ~/(.*\.md|LEGALNOTICE|LICENSE) { default_type text/plain; } }
Uložte a zavřete soubor. Otestujte konfiguraci Nginx a poté znovu načtěte Nginx, aby se změny projevily.
sudo nginx -t sudo systemctl reload nginx
Krok 4:Instalace a povolení modulů PHP
Spuštěním následujících příkazů nainstalujte moduly PHP požadované nebo doporučené Matomo.
sudo apt install php-imagick php7.4-mysql php7.4-fpm php7.4-common php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl
Pokud používáte webový server Apache, musíte jej znovu načíst, aby fungoval s těmito moduly PHP.
sudo systemctl reload apache2
Uživatelé Nginx se nemusí znovu načítat.
Nyní byste měli mít možnost navštívit webového průvodce instalací Matomo na adrese http://analytics.example.com
, ale před zadáním jakýchkoli informací povolme HTTPS.
Krok 5:Povolte HTTPS
Pro šifrování HTTP provozu, když navštívíte webové rozhraní Matomo, můžeme povolit HTTPS instalací bezplatného TLS certifikátu vydaného od Let’s Encrypt. Spuštěním následujících příkazů nainstalujte klienta Let’s Encrypt (certbot) na Ubuntu 20.04.
sudo apt update sudo apt install certbot
Pokud používáte Nginx, musíte si také nainstalovat plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Poté spusťte následující příkaz pro získání a instalaci certifikátu TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d analytics.example.com
Pokud používáte Apache, musíte si také nainstalovat plugin Certbot Apache.
sudo apt install python3-certbot-apache
Poté spusťte tento příkaz pro získání a instalaci certifikátu TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d analytics.example.com
Vysvětlení:
--nginx
:Použijte plugin nginx.--apache
:Použijte plugin Apache.--agree-tos
:Souhlas se smluvními podmínkami.--redirect
:Vynutit HTTPS přesměrováním 301.--hsts
:Přidejte hlavičku Strict-Transport-Security do každé odpovědi HTTP. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.--staple-ocsp
:Umožňuje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.
Certifikát by nyní měl být získán a automaticky nainstalován.
Krok 6:Dokončete instalaci ve webovém prohlížeči
Přejděte na https://analytics.example.com
spustíte webového průvodce instalací. Poté klikněte na Next
tlačítko.
Zkontroluje, zda váš systém splňuje požadavky, jako jsou rozšíření PHP. Pokud jsou splněny všechny požadavky, klikněte na Next
.
V dalším kroku zadejte uživatelské jméno, heslo a název databáze MariaDB, které jste vytvořili dříve. V ostatních polích můžete použít výchozí hodnotu.
Po kliknutí na tlačítko Další průvodce instalací automaticky vytvoří v databázi nějaké tabulky. Klikněte na Next
pokračovat.
Na další obrazovce vytvořte uživatele admin pro webové rozhraní Matomo.
Po vytvoření uživatele admin musíte přidat webovou stránku pro shromažďování analytických dat.
Poté musíte na svůj web přidat sledovací kód JavaScript.
Jakmile to bude hotovo. Klikněte na tlačítko Další a vaše instalace Matomo je dokončena. Nyní se můžete přihlásit do řídicího panelu Matomo a zobrazit údaje o návštěvnících.
Sledování uživatelů s deaktivovaným JavaScriptem
Ve webovém rozhraní Matomo klikněte na ikonu ozubeného kolečka v pravém horním rohu a přejděte na webové stránky -> měřicí kód a můžete se rozhodnout sledovat uživatele se zakázaným JavaScriptem.
Bude nový sledovací kód. Je třeba nahradit stávající kód sledování novým. Nový kód sledování ve skutečnosti pouze přidá následující řádek ke stávajícímu kódu sledování.
<noscript><p><img src="//analytics.example.com/matomo.php?idsite=1&rec=1" border:0;" alt="" /></p></noscript>
Když návštěvník zakáže JavaScript nebo když JavaScript nelze použít, prohlížeč návštěvníka stáhne obrázek.
Nastavte úlohy Cron pro weby se střední a vysokou návštěvností
Pokud má váš web tisíce zobrazení stránek za den, je nutné nastavit úlohu cron pro automatickou archivaci zpráv Matomo. Vytvořte soubor úlohy Cron pomocí následujícího příkazu.
sudo nano /etc/cron.d/matomo-archive
Poté do souboru přidejte následující řádky.
MAILTO="[email protected]" 5 * * * * www-data /usr/bin/php /var/www/matomo/console core:archive --url=https://analytics.example.com > /dev/null
Standardní výstup bude odeslán do /dev/null a standardní chyba bude zaslána na vaši e-mailovou adresu. Uložte a zavřete soubor. Tato úloha Cronu se spustí každou hodinu po 5 minutách.
Jak nastavit upozornění e-mailem
Pokud existuje více než jeden uživatel, pak je dobré, aby Matomo mohl posílat e-mailová upozornění, jako jsou e-maily pro resetování hesla. Informace o tom, jak nastavit e-mailový server, naleznete v následujícím návodu. Poznámka že vřele doporučuji provozovat poštovní server iRedMail na čerstvém čistém OS. Instalace iRedMail na OS, který má jiné webové aplikace, může selhat a pravděpodobně přerušit stávající aplikace.
- Jak snadno nastavit plně vybavený poštovní server na Ubuntu 20.04 pomocí iRedMail
Pokud nechcete provozovat svůj vlastní e-mailový server, můžete místo toho nastavit přenos SMTP. Podívejte se prosím na následující návod.
- Jak nastavit přenos Postfix SMTP na serveru Ubuntu 20.04
Jak nastavit přesnou geolokaci pomocí GeoIP
Ve výchozím nastavení Matomo odhaduje polohu návštěvníků na základě jazyka, který používají. To není přesné. Mnoho návštěvníků mimo USA si například jako výchozí jazyk pro svůj operační systém zvolí En-US, takže v přehledu Matomo bude více „návštěvníků z USA“. Pro lepší geolokaci můžeme použít bezplatnou databázi MaxMind GeoLite2 IP.
Nejprve si musíte vytvořit účet u MaxMind. Maxmind vám pošle e-mail. Kliknutím na odkaz v e-mailu nastavte heslo a poté se přihlaste ke svému účtu MaxMind. Dále vyberte My License Key
na levé liště.
Klikněte na Vygenerovat nový licenční klíč tlačítko.
Pojmenujte svůj licenční klíč a zvolte „No
“ pro „Bude tento klíč použit pro aktualizaci GeoIP?“ Poté klikněte na Confirm
knoflík. Zobrazí se váš licenční klíč. Upozorňujeme, že licenční klíč se zobrazí pouze jednou, takže jej zkopírujte do schránky.
Dále klikněte na ikonu ozubeného kolečka (Administrace) ve webovém rozhraní Matomo, přejděte na System
-> Geolocation
. Poté si stáhněte nejnovější databázi Maxmind GeoIP na váš server. Nahraďte your_license_key svým skutečným licenčním klíčem.
wget -O GeoLite2-City.tar.gz 'https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&suffix=tar.gz&license_key=your_license_key'
Extrahujte tarball.
tar xvf GeoLite2-City.tar.gz
Tarball bude extrahován do adresáře s názvem takto GeoLite2-City_20200814
. Poté přesuňte soubor GeoLite2-City.mmdb do /var/www/matomo/misc/
adresář.
sudo mv GeoLite2-City_20200814/GeoLite2-City.mmdb /var/www/matomo/misc/
Nyní znovu načtěte stránku nastavení geolokace Matomo. Vyberte druhého poskytovatele polohy:GeoIP 2 (Php)
.
Klepnutím na tlačítko Uložit uložíte nastavení. Ve spodní části této stránky můžete také zadat URL ke stažení, aby Matomo mohl automaticky aktualizovat GeoIP databázi.
- Adresa URL ke stažení MaxMind je:https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&suffix=tar.gz&license_key=your_license_key
- Aktualizujte databázi každý týden.
Spuštění Matomo Behind Cloudflare CDN
Pokud Matomo běží za Cloudflare CDN, pak Matomo vidí pouze IP adresu serverů Cloudflare. Chcete-li zobrazit skutečnou IP adresu návštěvníků v Nginx, upravte hlavní konfigurační soubor Nginx.
sudo nano /etc/nginx/nginx.conf
Přidejte následující direktivy do http sekce.
set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; set_real_ip_from 104.16.0.0/12; set_real_ip_from 108.162.192.0/18; set_real_ip_from 131.0.72.0/22; set_real_ip_from 141.101.64.0/18; set_real_ip_from 162.158.0.0/15; set_real_ip_from 172.64.0.0/13; set_real_ip_from 173.245.48.0/20; set_real_ip_from 188.114.96.0/20; set_real_ip_from 190.93.240.0/20; set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 199.27.128.0/21; set_real_ip_from 2400:cb00::/32; set_real_ip_from 2606:4700::/32; set_real_ip_from 2803:f800::/32; set_real_ip_from 2405:b500::/32; set_real_ip_from 2405:8100::/32; set_real_ip_from 2c0f:f248::/32; set_real_ip_from 2a06:98c0::/29; # use any of the following two real_ip_header CF-Connecting-IP; #real_ip_header X-Forwarded-For;
set_real_ip_from definuje důvěryhodné adresy, v tomto případě IP adresy Cloudflare, o kterých je známo, že odesílají správné náhradní adresy. Uložte a zavřete soubor. Poté znovu načtěte Nginx, aby se změny projevily.
sudo systemctl reload nginx
IP adresy návštěvníků můžete zkontrolovat v Matomo Dashboard -> Návštěvníci -> Protokol návštěv .
Můžete také zkontrolovat aktuální rozsahy IP adresy Cloudflare.
Další aktivity
- Přihlaste se k odběru RSS kanálu změn Matomo, abyste byli informováni, když vyjde nová verze.
- Podívejte se na bezpečnostní tipy Matomo.
- Přečtěte si tipy pro ladění výkonu Matomo.
A je to! Doufám, že vám tento tutoriál pomohl nainstalovat Matomo na server Ubuntu 20.04 s Apache nebo Nginx. Jako vždy, pokud vám tento příspěvek přišel užitečný, přihlaste se k odběru našeho bezplatného zpravodaje, kde získáte další tipy a triky. Opatruj se 🙂