GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte Matomo Web Analytics (Piwik) na Ubuntu 20.04 s Apache/Nginx

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&amp;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 🙂


Ubuntu
  1. Nainstalujte webový server Apache na Ubuntu 12.10

  2. Jak nainstalovat Matomo Web Analytics na Ubuntu 20.04

  3. Nainstalujte phpMyAdmin na Ubuntu 20.04 s Nginx

  1. Jak nainstalovat webový server Nginx na Ubuntu 18.04

  2. Jak nainstalovat Jenkins Automation Server s Apache na Ubuntu 16.04

  3. Jak nainstalovat Caddy Web Server s PHP-FPM na Ubuntu 16.04

  1. Jak nainstalovat Piwik s Nginx na Ubuntu 15.10

  2. Jak nainstalovat Matomo Web Analytics na Ubuntu 20.04

  3. Jak nainstalovat FileRun na Ubuntu 20.04 s Apache/Nginx