Web Analytics · 6 min read · Dec 17, 2025

Come installare Matomo Web Analytics su Debian 9

Matomo (ex Piwik) è un’applicazione di analisi web gratuita e open source sviluppata da un team di sviluppatori internazionali, che gira su un server web PHP / MySQL. Tiene traccia delle visite online a uno o più siti web e visualizza report 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: A/B Testing, Heatmaps, Funnel, API di Tracciamento e Reporting, Google AdWords, Facebook Ads, Bing Ads, Costo Per Click (CPC), ecc. Questo tutorial ti mostrerà come installare Matomo su un sistema Debian 9 (stretch) utilizzando Nginx come server web e proteggeremo il sito web con un certificato SSL di 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.
  • Versione PHP 5.5.9 o superiore con estensioni pdo e pdo_mysql o mysqli, gd, xml, curl e mbsting. PHP 7+ è raccomandato.
  • Versione MySQL 5.5 o superiore, o la versione equivalente di MariaDB. MySQL 5.7+ è raccomandato.

Prerequisiti

  • Un sistema operativo che esegue Debian 9 (stretch).
  • Un utente non root con privilegi sudo.

Passi 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é garantisce che tu abbia gli ultimi aggiornamenti e le 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

Passo 1 - Installa MySQL e crea un database per Matomo

Matomo supporta i database MySQL e MariaDB. Il team di Debian ha sostituito MySQL con MariaDB come database predefinito a partire da Debian 9 (stretch), quindi in questo tutorial utilizzeremo MariaDB come server di database. Se desideri installare MySQL originale, puoi aggiungere e utilizzare il repository ufficiale di MySQL mantenuto da Oracle.

Installa il 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 lo script mysql_secure_installation per migliorare la sicurezza di MariaDB e impostare la password per l’utente root di MariaDB:

sudo mysql_secure_installation

Rispondi a ciascuna delle domande:

``Enter current password for root (enter for none): Premi Invio  
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``

Collegati alla shell di MariaDB come utente root:

sudo mysql -u root -p  
# Inserisci la 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.

Passo 2 - Installa PHP e le estensioni PHP necessarie

Installa PHP, così come 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 di 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 automaticamente e abilitato all’avvio su un sistema Debian 9, quindi non è necessario avviarlo e abilitarlo manualmente. Possiamo passare al passo successivo, che consiste nell’ottenere certificati SSL gratuiti da Let’s Encrypt CA.

Passo 3 - Installa il client acme.sh e ottieni 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 software shell Unix puro per ottenere certificati TLS da Let’s Encrypt senza 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 certificati RSA e ECC/ECDSA 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 sopra, i tuoi certificati e chiavi saranno in:

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

Passo 3 - Installa NGINX e configura NGINX per Matomo

Matomo può funzionare bene con molti software di server web popolari. 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 popola 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 una configurazione Nginx completa e pronta per la produzione per Matomo visita https://github.com/matomo-org/matomo-nginx.

Attiva la nuova configurazione matomo.conf collegando il file alla directory sites-enabled.

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

Passo 4 - Installa Matomo Analytics

Crea la directory /var/www:

sudo mkdir -p /var/www

Naviga nella directory /var/www:

cd /var/www/

Scarica l’ultima versione di Matomo tramite wget e decomprimila:

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

Rimuovi il file matomo.zip scaricato:

sudo rm matomo.zip

Cambia la proprietà della directory /var/www/matomo all’utente www-data:

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

Passo 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.

Per prima cosa, dovrebbe apparire il messaggio di benvenuto di Matomo. Clicca sul pulsante “Avanti”:

Procedura guidata di installazione di Matomo

Dopo, vedrai una pagina di “Controllo del sistema”. Se qualcosa è mancante, vedrai un avviso. Se tutto è contrassegnato con un segno di spunta verde, clicca sul pulsante “Avanti” per procedere al passo successivo:

Controllo del sistema

Successivamente, compila i dettagli del database e clicca sul pulsante “Avanti”:

Impostazione del database

Se tutto è andato bene con l’impostazione del database, dovresti vedere il messaggio “Tabelle create con successo!”:

Creazione delle tabelle del database

Crea un account superutente di Matomo e clicca sul pulsante “Avanti”:

Crea account super utente

Successivamente, imposta il primo sito web che desideri tracciare e analizzare con Matomo. In seguito, puoi aggiungere altri siti da tracciare con Matomo:

Aggiungi sito web a Matomo

Successivamente, ti verrà fornito il codice di tracciamento JavaScript per il tuo sito che devi aggiungere per iniziare a tracciare.

Codice di tracciamento Javascript

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

Installazione di Matomo completata

Congratulazioni! La tua installazione di Matomo è completa.

Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.