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 considerarlo 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 Ubuntu 18.04 LTS 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 Ubuntu 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 Ubuntu 18.04.
- Un utente non root con privilegi sudo.
Passaggi iniziali
Controlla la tua versione di Ubuntu:
lsb_release -ds
# Ubuntu 18.04.1 LTS
Imposta il fuso orario:
sudo dpkg-reconfigure tzdata
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 apt update && sudo apt upgrade -y
Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo Ubuntu:
sudo apt install -y curl wget vim git unzip socat
Passaggio 1:installa MySQL e crea un database per Matomo
Matomo supporta i database MySQL e MariaDB. In questo tutorial, utilizzeremo MySQL come server di database.
Installa server di database MySQL:
sudo apt install -y mysql-server
Controlla la versione di MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper
Esegui mysql_secure installation
script per migliorare la sicurezza di MySQL e impostare la password per MySQL 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 alla shell MySQL come utente root:
sudo mysql -u root -p
# Enter password
Crea un database MySQL e un utente vuoti per Matomo e ricorda le credenziali:
mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
Esci da MySQL:
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 apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php7.2-xml php7.2-mbstring php7.2-mysql
Controlla la versione PHP:
php --version
# PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
Il servizio PHP-FPM viene avviato e abilitato automaticamente al riavvio sul sistema Ubuntu 18.04, quindi non è necessario avviarlo e abilitarlo manualmente. 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 l'ultima versione principale di Nginx dal repository di Ubuntu:
sudo apt install -y nginx
Controlla la versione di Nginx:
sudo nginx -v
# nginx version: nginx/1.14.0
Configura Nginx per Matomo eseguendo:
sudo vim /etc/nginx/sites-available/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 {
include snippets/fastcgi-php.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location = /plugins/HeatmapSessionRecording/configs.php {
include snippets/fastcgi-php.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/var/run/php/php7.2-fpm.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.
Attiva il nuovo matomo.conf
configurazione collegando il file a sites-enabled
directory.
sudo ln -s /etc/nginx/sites-available/matomo.conf /etc/nginx/sites-enabled
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 www-data
utente:
sudo chown -R www-data:www-data /var/www/matomo
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 di 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