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 Facebook, annunci Bing, costo per clic (CPC), ecc. Questo tutorial ti mostrerà come installare Matomo su una Debian 9 (allunga ) utilizzando Nginx come server Web e proteggeremo il sito Web con un certificato SSL Let's Encrypt.
Requisiti
Per eseguire Matomo (Piwik) sul tuo sistema Debian avrai bisogno di un paio di cose:
- Server web come Apache o Nginx.
- 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 Debian 9 (stretch).
- Un utente non root con privilegi sudo.
Passaggi iniziali
Controlla la tua versione di Debian:
lsb_release -ds
# Debian GNU/Linux 9.6 (stretch)
Imposta il fuso orario:
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:
apt update && apt upgrade -y
Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo Debian:
apt install -y curl wget vim git unzip socat sudo
Passaggio 1:installa MySQL e crea un database per Matomo
Matomo supporta i database MySQL e MariaDB. Il team Debian ha sostituito MySQL con MariaDB come database predefinito da Debian 9 (stretch), quindi in questo tutorial useremo MariaDB come server di database. Se desideri installare MySQL originale, puoi aggiungere e utilizzare il repository MySQL ufficiale gestito da Oracle.
Installa server di database MariaDB:
sudo apt install -y mariadb-server
Controlla la versione di MariaDB:
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 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:
mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> 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 apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-curl php7.0-gd php7.0-xml php7.0-mbstring php7.0-mysql
Controlla la versione PHP:
php --version
# PHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 2018 11:36:49) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.0.33-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies
Il servizio PHP-FPM viene avviato e abilitato automaticamente al riavvio sul sistema Debian 9, 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 Nginx dal repository Debian:
sudo apt install -y nginx
Controlla la versione di Nginx:
sudo nginx -v
# nginx version: nginx/1.10.3
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.0-fpm.sock;
}
location = /plugins/HeatmapSessionRecording/configs.php {
include snippets/fastcgi-php.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/var/run/php/php7.0-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 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 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