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 Fedora 29 che utilizza Nginx come server Web e proteggeremo il sito Web con un certificato Let's Encrypt SSL.
Requisiti
Per eseguire Matomo (Piwik) sul tuo sistema Fedora 29 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 Fedora 29.
- Un utente non root con privilegi sudo.
Passaggi iniziali
Controlla la tua versione di Fedora:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
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 dnf check-update; sudo dnf update -y
Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo Fedora:
sudo dnf install -y curl wget vim git unzip socat
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.
Installa un server di database MariaDB:
sudo dnf install -y mariadb-server
Controlla la versione di MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.3.11-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:
Would you like to setup VALIDATE PASSWORD plugin? N
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> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;
Esci da MariaDB:
mysql> exit
Sostituisci dbname
, username
e password
con i tuoi nomi.
Fase 2:installa PHP e le estensioni PHP necessarie
Installa PHP e le estensioni PHP necessarie:
sudo dnf install -y php php-cli php-fpm php-common php-curl php-gd php-xml php-mbstring php-mysqlnd php-json
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 il 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 RSA e ECC/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 certificati e chiavi 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 Fedora:
sudo dnf install -y nginx
Controlla la versione di Nginx:
sudo nginx -v
# nginx version: nginx/1.14.1
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 unix:/run/php-fpm/www.sock;
}
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 unix:/run/php-fpm/www.sock;
}
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;
}
}
NOTA : Per 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 super utente Matomo e fai clic su "Avanti" pulsante:
Quindi, imposta il primo sito Web che desideri monitorare e analizzare con Matomo. Successivamente, puoi aggiungere più 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.
Link
- https://matomo.org/
- https://github.com/matomo-org/matomo
- https://github.com/matomo-org/matomo-nginx