GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Matomo Web Analytics na CentOS 7

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í jsou – A/B testování, Heatmaps, Trychtýře, 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 CentOS 7 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 CentOS 7 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 CentOS 7.
  • Uživatel bez oprávnění root s právy sudo.

Počáteční kroky

Zkontrolujte verzi CentOS:

cat /etc/centos-release

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 yum update -y

Nainstalujte si některé základní balíčky, které jsou nezbytné pro základní správu operačního systému CentOS:

sudo yum install -y curl wget vim git unzip socat epel-release

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.

Vytvořte úložiště MariaDB 10.2 YUM pro CentOS:

sudo vim /etc/yum.repos.d/MariaDB.repo

Zkopírujte a vložte do něj následující text:

# MariaDB 10.2 CentOS repository list - created 2017-12-11 23:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name=MariaDB
baseurl=https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Po umístění souboru nainstalujte MariaDB spuštěním:

sudo yum install -y MariaDB-server MariaDB-client

Zkontrolujte verzi MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.2.21-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:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
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 Shellu 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 [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;

Ukončete službu MariaDB:

MariaDB [(none)]> exit

Nahraďte dbnameusernamepassword s vašimi vlastními jmény.

Krok 2 – Instalace PHP a nezbytných rozšíření PHP

Nastavte repo Webtatic YUM:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Nainstalujte PHP a také potřebná rozšíření PHP:

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-curl php72w-gd php72w-xml php72w-mbstring php72w-mysqlnd php72w-json

Chcete-li zobrazit PHP zkompilované v modulech, můžete spustit:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

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í TLS certifikátu 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 RSAECC/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átyklíč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ě CentOS:

sudo yum install -y nginx

Zkontrolujte verzi Nginx:

sudo nginx -v

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 127.0.0.1:9000;
}

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 127.0.0.1:9000;
}

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ÁMKAPro 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 superuž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.

  • https://matomo.org/
  • https://github.com/matomo-org/matomo
  • https://github.com/matomo-org/matomo-nginx

Cent OS
  1. Jak nainstalovat webový server Apache na CentOS 7

  2. Jak nainstalovat Matomo Web Analytics na Ubuntu 20.04

  3. Jak nainstalovat webovou konzoli Cockpit v CentOS/RHEL 8

  1. Jak nainstalovat MariaDB na CentOS 7

  2. Jak nainstalovat Vagrant na CentOS 7

  3. Jak nainstalovat Gitea na CentOS 8

  1. Jak nainstalovat Memcached na CentOS 8

  2. Jak nainstalovat Nginx na CentOS 7

  3. Jak nainstalovat Apache na CentOS 7