GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Matomo Web Analytics su CentOS 7

Matomo (precedentemente Piwik) è un applicazione di analisi Web gratuita e open source sviluppata da un team di sviluppatori internazionali, che viene eseguita su un server Web PHP/MySQL . Tiene traccia delle visite online a uno o più siti web e visualizza i rapporti su queste visite per l'analisi. Puoi pensarlo come un'alternativa a Google Analytics. Matomo è open source e il suo codice è disponibile pubblicamente su Github. Alcune delle funzionalità che ha sono: test A/B, mappe di calore, canalizzazioni, API di monitoraggio e reporting, Google AdWords, annunci di Facebook, annunci Bing, costo per clic (CPC), ecc. Questo tutorial ti mostrerà come installare Matomo su un sistema CentOS 7 che utilizza Nginx come server Web e proteggeremo il sito Web con un certificato SSL Let's Encrypt.

Requisiti

Per eseguire Matomo (Piwik) sul tuo sistema CentOS 7 avrai bisogno di un paio di cose:

  • Server web come Apache, Nginx, IIS.
  • PHP versione 5.5.9 o successiva con pdo e pdo_mysql o estensioni mysqli, gd, xml, curl e mbsting. Si consiglia PHP 7+.
  • MySQL versione 5.5 o successiva, o la versione equivalente di MariaDB. Si consiglia MySQL 5.7+.

Prerequisiti

  • Un sistema operativo che esegue CentOS 7.
  • Un utente non root con privilegi sudo.

Passaggi iniziali

Controlla la tua versione di CentOS:

cat /etc/centos-release

Imposta il fuso orario:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Aggiorna i pacchetti del tuo sistema operativo (software). Questo è un primo passo importante perché ti assicura di avere gli ultimi aggiornamenti e correzioni di sicurezza per i pacchetti software predefiniti del tuo sistema operativo:

sudo yum update -y

Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo CentOS:

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

Passaggio 1:installa MariaDB e crea un database per Matomo

Matomo supporta i database MySQL e MariaDB. In questo tutorial, utilizzeremo MariaDB come server di database.

Crea il repository YUM MariaDB 10.2 per CentOS:

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

Copia e incolla il seguente testo al suo interno:

# 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

Dopo che il file è a posto, installa MariaDB eseguendo:

sudo yum install -y MariaDB-server MariaDB-client

Controlla la versione di MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.2.21-MariaDB, for Linux (x86_64) using readline 5.1

Avvia e abilita il servizio MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Esegui mysql_secure installation script per migliorare la sicurezza di MariaDB e impostare la password per MariaDB root utente:

sudo mysql_secure_installation

Rispondi a ciascuna delle domande:

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

Connettiti a MariaDB shell come utente root:

sudo mysql -u root -p
# Enter password

Crea un database MariaDB vuoto e un utente per Matomo e ricorda le credenziali:

MariaDB [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;

Esci da MariaDB:

MariaDB [(none)]> exit

Sostituisci dbnameusernamepassword con i tuoi nomi.

Fase 2:installa PHP e le estensioni PHP necessarie

Imposta il repository YUM di Webtatic:

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

Installa PHP e le estensioni PHP necessarie:

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

Per mostrare PHP compilato nei moduli, puoi eseguire:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controlla la versione 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

Avvia e attiva il servizio PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Possiamo passare al passaggio successivo, ovvero ottenere certificati SSL gratuiti da Let's Encrypt CA.

Passaggio 3:installa acme.sh client e ottenere il certificato Let's Encrypt (opzionale )

Proteggere il tuo sito web con HTTPS non è necessario, ma è una buona pratica per proteggere il traffico del tuo sito. Per ottenere un certificato TLS da Let's Encrypt utilizzeremo il client Acme.sh. Acme.sh è un puro software shell UNIX per ottenere certificati TLS da Let's Encrypt con zero dipendenze.

Scarica e installa 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 ~

Controlla la versione di Acme.sh:

/etc/letsencrypt/acme.sh --version
# v2.8.0

Ottieni RSAECC/ECDSA certificati per il tuo dominio/nome host:

# 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

Dopo aver eseguito i comandi precedenti, i tuoi certificatichiavi sarà in:

  • Per RSA/etc/letsencrypt/example.com directory.
  • Per ECC/ECDSA/etc/letsencrypt/example.com_ecc directory.

Passaggio 3:installa NGINX e configura NGINX per Matomo

Matomo può funzionare bene con molti popolari software per server web. In questo tutorial, abbiamo selezionato Nginx.

Scarica e installa Nginx dal repository CentOS:

sudo yum install -y nginx

Controlla la versione di Nginx:

sudo nginx -v

Avvia e abilita il servizio Nginx:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Configura Nginx per Matomo eseguendo:

sudo vim /etc/nginx/conf.d/matomo.conf

E popolare il file con la seguente configurazione:

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;
}

}

NOTAPer la configurazione Nginx completa e pronta per la produzione per Matomo, visita https://github.com/matomo-org/matomo-nginx.

Controlla la configurazione di Nginx per errori di sintassi:

sudo nginx -t

Ricarica il servizio Nginx:

sudo systemctl reload nginx.service

Passaggio 4:installazione di Matomo Analytics

Crea /var/www directory:

sudo mkdir -p /var/www/

Vai a /var/www directory:

cd /var/www/

Scarica l'ultima versione di Matomo tramite wget e decomprimilo:

sudo wget https://builds.matomo.org/matomo.zip && sudo unzip matomo.zip

Rimuovi matomo.zip scaricato file:

sudo rm matomo.zip

Modifica la proprietà del /var/www/matomo directory in nginx  utente:

sudo chown -R nginx:nginx /var/www/matomo

Esegui sudo vim /etc/php-fpm.d/www.conf e imposta utente e gruppo su nginx . Inizialmente, verrà impostato su utente e gruppo apache .

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Riavvia il servizio PHP-FPM.

sudo systemctl restart php-fpm.service

Passaggio 5:completa la configurazione di Matomo Analytics

Apri il tuo sito in un browser web e segui la procedura guidata di installazione web di Matomo.

Innanzitutto, dovrebbe apparire il messaggio di benvenuto di Matomo. Fai clic su "Avanti" pulsante:

Successivamente, vedrai un "Controllo del sistema" pagina. Se manca qualcosa, vedrai un avviso. Se tutto è contrassegnato da un segno di spunta verde, fai clic su "Avanti" pulsante per procedere al passaggio successivo:

Successivamente, inserisci i dettagli del database e fai clic su "Avanti" pulsante:

Se tutto è andato bene con la configurazione del database dovresti vedere " Tabelle create con successo!" messaggio:

Crea un account di superutente Matomo e fai clic su "Avanti" pulsante:

Quindi, imposta il primo sito Web che desideri monitorare e analizzare con Matomo. Successivamente, puoi aggiungere altri siti da monitorare con Matomo:

Successivamente, ti verrà fornito il codice di monitoraggio JavaScript per il tuo sito che devi aggiungere per avviare il monitoraggio.

Successivamente, dovresti vedere che l'installazione di Matomo è completata.

Congratulazioni! L'installazione di Matomo è completa.

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

Cent OS
  1. Come installare Apache Web Server su CentOS 7

  2. Come installare MariaDB su CentOS 7

  3. Come installare Vagrant su CentOS 7

  4. Come installare Matomo Web Analytics su Ubuntu 20.04

  5. Come installare la console Web di Cockpit in CentOS/RHEL 8

Come installare Matomo (Piwik) Web Analytics su CentOS 8

Come installare Matomo Web Analytics su Debian 11

Come installare Matomo Web Analytics su Ubuntu 18.04 LTS

Come installare Open Web Analytics su CentOS 7

Come installare Caddy Web Server su CentOS 8

Come installare Matomo su CentOS 8