Tento tutoriál vám ukáže, jak nainstalovat webovou analýzu Matomo (dříve známou jako Piwik) na Ubuntu 18.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á při růstu jejich webových stránek. Google Analytics je skvělá, ale data návštěvníků webu jsou uložena na serveru Google. Pokud údaje o návštěvnících svého webu nechcete sdílet s třetí stranou, můžete spustit vlastní webovou analýzu. 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živatele, poskytovatelé, operační systém, tržní podíl prohlížeče, rozlišení obrazovky, stolní počítač versus 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.
- 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é návštěvnická mapa v reálném čase.
Matomo Mapa návštěvníků v reálném čase
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 váš server dokáže.
- 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 18.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. Server s 512 MB RAM stačí ke spuštění Matomo 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 18.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 18.04
- Jak nainstalovat zásobník LEMP na server Ubuntu 18.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 18.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. V době psaní tohoto článku je nejnovější verze Matomo 3.7, která přichází s novou funkcí – správcem značek. Je to jeden z největších milníků pro Matomo za posledních několik let.
wget https://builds.matomo.org/matomo-latest.zip
Po stažení rozbalte archiv pomocí unzip
.
sudo apt install unzip 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 (Nginx) 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. Protože MariaDB nyní používá unix_socket
plugin pro ověření přihlášení uživatele, není nutné zadávat root heslo MariaDB. Potřebujeme pouze předponu mysql
příkaz pomocí sudo
.
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 identified by 'your-password';
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 červeně zbarvený text svými skutečnými daty. Nezapomeňte pro název domény nastavit záznam A.
<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 červeně zbarvený text svými skutečnými daty. Nezapomeňte pro název domény nastavit záznam A.
server { listen [::]:80; # remove this if you don't want Matomo to be reachable from IPv6 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.2-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.2-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.2-mysql php7.2-fpm php7.2-common php7.2-gd php7.2-json php7.2-curl php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-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 18.04.
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot 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
:Ke každé odpovědi HTTP přidejte záhlaví Strict-Transport-Security. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.--staple-ocsp
: Povoluje 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.
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 18.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 18.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 zvolilo jako výchozí jazyk pro svůj operační jazyk En-US, takže v přehledu Matomo bude více „návštěvníků z USA“.
Chcete-li získat lepší geolokaci, klikněte na ikonu ozubeného kolečka (Administrace) v Matomo, přejděte na System
-> Geolocation
. Poté si stáhněte nejnovější databázi Maxmind GeoIP na svůj server.
wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz
Extrahujte tarball.
tar xvf GeoLite2-City.tar.gz
Tarball bude extrahován do adresáře s názvem takto GeoLite2-City_20190226
. Poté přesuňte soubor GeoLite2-City.mmdb do /var/www/matomo/misc/
adresář.
sudo mv GeoLite2-City_20190226/GeoLite2-City.mmdb /var/www/matomo/misc/
Nyní znovu načtěte stránku nastavení geolokace Matomo. Vyberte druhého poskytovatele umístění: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.
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 návod pomohl nainstalovat Matomo na server Ubuntu 18.04 s Apache nebo Nginx. Jako vždy, pokud pro vás byl tento příspěvek užitečný, přihlaste se k odběru našeho bezplatného zpravodaje, kde získáte další tipy a triky. Opatruj se 🙂