Ricerca nel sito web

Guida per installare Matomo Web Analytics su AlmaLinux 9


Matomo, precedentemente Piwik, è un software di analisi web gratuito e open source in grado di monitorare le visite al sito Web e visualizzare report per l'analisi dei dati e del pubblico. Matomo è concesso in licenza con licenza GPL. È scritto in PHP e può essere eseguito con il server database MySQL o MariaDB.

Matomo fornisce report approfonditi per il monitoraggio degli utenti sui tuoi siti web. Ciò include il motore di ricerca del referrer e le parole chiave, le lingue, le visite alle pagine come i download dei visitatori dei file e molto altro. Matomo sta diventando sempre più popolare come alternativa ai servizi di analisi come Google Analytics.

Il seguente tutorial mostra come installare l'analisi web di Matomo sul server AlmaLinux 9. Installerò Matomo con il server web Httpd, PHP e il database MariaDB. Proteggerò anche Matomo con certificati SSL/TLS tramite Letsencrypt.

Prerequisiti

Assicurati di avere quanto segue per avviare l'installazione di Matomo:

  • Un server AlmaLinux 9: questo esempio utilizza un server con il nome host alma9.
  • Un utente non root con privilegi di amministratore root.
  • Un nome di dominio puntava all'indirizzo IP del server.

Installazione e configurazione di MariaDB

Matomo richiedeva l'installazione del server database MySQL o MariaDB e, in questo caso, utilizzerai il server MariaDB. I passaggi seguenti ti mostreranno come installare il server database MariaDB, proteggere l'installazione di MariaDB e come creare un nuovo database e utente per la tua installazione Matomo.

Installazione di MariaDB

Per impostazione predefinita, il repository appstream AlmaLinux fornisce i pacchetti MariaDB. Puoi installare facilmente MariaDB tramite DNF senza la necessità di un repository di terze parti.

Innanzitutto, esegui il comando dnf seguente per installare il server database MariaDB. Quindi, inserire y per confermare l'installazione e premere INVIO.

sudo dnf install mariadb-server

Dopo aver installato il server MariaDB, eseguire i seguenti comandi systemctl per avviare e abilitare il server MariaDB. Abilitando il server MariaDB, consenti l'esecuzione automatica del servizio durante l'avvio del sistema.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Ora verifica lo stato del server MariaDB per assicurarti che il servizio sia in esecuzione. E se in esecuzione, dovresti ottenere un output attivo (in esecuzione) sul tuo terminale.

sudo systemctl status mariadb

Garantire la distribuzione di MariaDB

Dopo che MariaDB è installato e in esecuzione, proteggerai l'installazione impostando la password di root, disabilitando l'accesso remoto per l'utente root e rimuovendo il test del database predefinito e l'utente anonimo. Ciò può essere fatto tramite l'utility mariadb-secure-installation.

Per proteggere il server MariaDB, esegui l'utilità mariadb-secure-installation sul tuo terminale.

sudo mariadb-secure-installation

Durante il processo, puoi inserire Y per applicare la configurazione oppure n per No. Di seguito sono riportate alcune impostazioni del server MariaDB che ti verranno richieste:

  • Quando viene richiesto di fornire la password root di MariaDB, premere INVIO.
  • Immettere n per saltare la configurazione dell'autenticazione unix_socket.
  • Inserisci Y per impostare la password root di MariaDB, quindi digita la nuova password e ripetila.
  • Immettere Y per disabilitare l'accesso remoto dall'utente root di MariaDB.
  • Inserisci Y per rimuovere l'utente anonimo predefinito dal tuo server MariaDB.
  • Quindi, immettere nuovamente Y per rimuovere il test del database predefinito.
  • Infine, inserisci Y per ricaricare i privilegi della tabella e applicare le modifiche.

Creazione di un nuovo database e utente

Ora che hai MariaDB in esecuzione in modo sicuro, il passaggio successivo sarà la creazione di un nuovo database e utente MariaDB per l'installazione di Matomo. È necessario accedere al server MariaDB tramite l'utilità client MariaDB.

Accedi alla shell MariaDB tramite il comando client mariadb riportato di seguito. Quando ti viene richiesta la password, inserisci la password root di MariaDB.

sudo mariadb -u root -p

Dopo aver effettuato l'accesso, esegui le seguenti query per creare un nuovo database e utente per l'installazione di Matomo. In questa demo creerai un nuovo database e un nuovo utente matomo e assicurati di sostituire la password p4ssw0rddb con una nuova password complessa.

CREATE DATABASE matomo;
CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'p4ssw0rddb';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON matomo.* TO 'matomo'@'localhost';
FLUSH PRIVILEGES;

Ora esegui la seguente query per assicurarti che l'utente matomo sia disponibile sul server MariaDB e disponga dei privilegi sul database matomo.

SHOW GRANTS FOR 'matomo'@'localhost';

Infine, digita quit per uscire dalla shell MariaDB.

Installazione del server Web Httpd e PHP 8.1

Matomo è scritto principalmente in PHP, al momento richiede almeno PHP 8.x. Nella sezione seguente, installerai il server web httpd e i pacchetti PHP 8.1 tramite il repository appstream AlmaLinux. Successivamente configurerai PHP.

Prima di installare i pacchetti PHP, seleziona PHP 8.1 come versione predefinita di PHP. Nella distribuzione basata su RHEL, questo è chiamato modulo repository e il repository AlmaLinux predefinito fornisce due versioni dei pacchetti PHP 8.0 e 8.1.

sudo dnf module enable php:8.1

Immettere y quando viene richiesto di confermare.

Ora esegui il comando dnf di seguito per installare il server web httpd e i pacchetti PHP del tuo sistema. Digitare y per confermare l'installazione e premere INVIO.

sudo dnf install httpd php php-common php-mysqlnd php-gd php-curl php-json php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-zip php-soap

Dopo aver installato httpd e PHP, eseguire i seguenti comandi systemctl per avviare e abilitare il server web httpd. Ciò eseguirà il server Web httpd sulla porta predefinita 80, consentendone l'esecuzione automatica all'avvio.

sudo systemctl start httpd
sudo systemctl enable httpd

Ora verifica lo stato del server web httpd utilizzando il comando seguente. Se il server web httpd è in esecuzione, dovresti ottenere un output attivo (in esecuzione).

sudo systemctl status httpd

A questo punto hai installato il server web httpd e i pacchetti PHP. Ora configurerai PHP secondo necessità per l'installazione di Matomo.

Apri la configurazione PHP predefinita /etc/php.ini utilizzando il seguente nano editor.

sudo nano /etc/php.ini

Rimuovere il commento dalle seguenti opzioni e modificare il valore di conseguenza. Queste opzioni dipendono dalla tua macchina AlmaLinux.

date.timezone = Europe/Stockholm
memory_limit = 256M
upload_max_filesize = 16M
max_execution_time = 300

Salva e chiudi il file una volta terminato.

Ora esegui il comando systemctl riportato di seguito per riavviare il server Web httpd e applicare le modifiche.

sudo systemctl restart httpd

Verifica la versione PHP e i moduli disponibili eseguendo il comando seguente.

php --version
php -m

Dovresti avere PHP 8.1 installato sul tuo sistema e alcuni moduli abilitati come apcu, curl e gd.

Download del codice sorgente Matomo

A questo punto, la maggior parte dei pacchetti richiesti sono installati e in esecuzione. Ora scaricherai il codice sorgente di Matomo e configurerai la directory root dei documenti Matomo con la proprietà adeguata.

Prima di scaricare il codice sorgente di Matomo, esegui il comando dnf di seguito per installare wget e decomprimerlo sul tuo sistema.

sudo dnf install wget unzip -y

Ora spostati nella directory /var/www ed esegui il comando wget seguente per scaricare il codice sorgente di Matomo. Una volta scaricato il codice sorgente, dovresti vedere il file matomo.zip.

cd /var/www
wget https://builds.matomo.org/matomo.zip

Successivamente, esegui il comando unzip riportato di seguito per estrarre il file matomo.zip. Una volta estratto il file matomo.zip, dovresti ottenere la nuova directory matomo e questa sarà la radice del documento per la tua installazione di Matomo.

unzip matomo.zip

Infine, esegui il comando chmod riportato di seguito per modificare la proprietà della directory /var/www/matomo sull'utente e sul gruppo apache. Ciò consente al server web httpd e PHP di accedere al codice sorgente di Matomo.

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

Quindi esegui nuovamente il comando seguente per impostare l'autorizzazione corretta per il codice sorgente.

find /var/www/matomo/tmp -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/assets/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/assets/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/cache/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/cache/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/logs/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/logs/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/tcpdf/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/tcpdf/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/templates_c -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/templates_c -type d -exec chmod 755 {} \;

Configurazione dell'host virtuale HTTP

Nella sezione seguente creerai una nuova configurazione host virtuale httpd per l'esecuzione dell'applicazione web Matomo. Prima di ciò, assicurati che il tuo nome di dominio sia indirizzato all'indirizzo IP del tuo server e configurato correttamente.

Crea una nuova configurazione dell'host virtuale httpd /etc/httpd/conf.d/matomo.conf utilizzando il comando dell'editor nano riportato di seguito.

sudo nano /etc/httpd/conf.d/matomo.conf

Inserisci la seguente configurazione e assicurati di cambiare il nome di dominio sul parametro ServerName con il tuo dominio.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName analytics.hwdomain.io
    DocumentRoot /var/www/matomo/
    <Directory /var/www/matomo>
        DirectoryIndex index.php
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    <Files "console">
        Options None
        Require all denied
    </Files>
    <Directory /var/www/matomo/misc/user>
        Options None
        Require all granted
    </Directory>
    <Directory /var/www/matomo/misc>
        Options None
        Require all denied
    </Directory>
    <Directory /var/www/matomo/vendor>
        Options None
        Require all denied
    </Directory>
    ErrorLog /var/log/httpd//matomo_error.log
    CustomLog /var/log/httpd//matomo_access.log combined
</VirtualHost>

Salvare il file e uscire dall'editor una volta terminato.

Ora esegui l'utilità apachectl di seguito per verificare le configurazioni httpd generali. Se disponi di configurazioni httpd corrette e adeguate, dovresti ottenere un output come Syntax OK.

sudo apachectl -t

Successivamente, esegui il comando systemctl riportato di seguito per riavviare il server Web httpd e applicare la nuova configurazione dell'host virtuale.

sudo systemctl restart httpd

Infine, avvia il browser web e visita il nome di dominio dell'installazione matomo. In caso di successo, dovresti ottenere la pagina di installazione di Matomo in questo modo:

Proteggere Matomo con certificati SSL/TLS

Si consiglia di eseguire Matomo con certificati SSL/TLS. In questa sezione proteggerai Matomo tramite SSL da Letsencrypt, che può essere generato tramite Certbot. Certbot è un client Letsencrypt disponibile nel repository EPEL, quindi è necessario aggiungere il repository EPEL prima di installare Certbot.

Esegui il comando dnf riportato di seguito per installare certbot e il modulo certbot Apache/httpd. Immettere y per confermare l'installazione e premere ENTER.

sudo dnf install epel-release -y
sudo dnf install certbot python3-certbot-apache

Una volta installato certbot, esegui il comando certbot di seguito per generare certificati SSL per il tuo nome di dominio e assicurati di modificare il nome di dominio e l'indirizzo e-mail nel comando seguente.

sudo certbot --apache2 --agree-tos --redirect --hsts --staple-ocsp --email [email  -d analytics.hwdomain.io

Dopo l'esecuzione del comando, verranno generati nuovi certificati SSL/TLS nella directory /etc/letsencrypt/live/nome-dominio.com e una nuova configurazione SSL aggiunta al file /etc /httpd/conf.d/matomo.conf. La configurazione SSL viene aggiunta tramite il plugin Certbot Apache.

Installazione di Matomo Web Analytics

Torna al tuo browser web e visita il nome di dominio per l'installazione di Matomo. Dopo aver visualizzato la pagina di benvenuto, fai clic su Avanti per avviare l'installazione.

Ora l'installatore controllerà i requisiti del sistema. Quindi, assicurati che tutto sia contrassegnato con un segno di spunta verde come questo:

Fai di nuovo clic su Avanti per continuare.

Inserisci i dettagli del database MariaDB e dell'utente che hai creato. Quindi fai nuovamente clic su Avanti.

Dopo aver creato le tabelle per Matomo, vedrai il messaggio Le tabelle sono state create, quindi fai clic su Avanti.

Ora inserisci il nuovo nome utente e password per Matomo. Questo utente verrà utilizzato come amministratore di Matomo, assicurati di ricordare sempre nome utente e password.

Successivamente, inserisci il nome di dominio come primo tracker e modifica il fuso orario di conseguenza. Quindi fai clic su Avanti per continuare.

Una volta creato il primo tracker, dovresti vedere il codice di monitoraggio sullo schermo. Scorri fino all'ultima pagina e fai clic su Continua.

Ora l'installazione dovrebbe essere terminata. Scorri verso il basso e fai clic sul pulsante CONTINUA SU MATOMO.

Quando viene richiesta la schermata di accesso, inserisci l'utente e la password dell'amministratore Matomo, quindi fai clic su ACCEDI.

Se hai il nome utente e la password corretti, il pannello di amministrazione di Matomo verrà mostrato sul tuo browser.

Da lì, puoi gestire facilmente l'installazione di Matomo e aggiungere altri tracker per i siti web.

Conclusione

Hai installato con successo Matomo Web Analytics sul tuo computer AlmaLinux. Hai installato Matomo con il server web httpd, PHP 8.1 e il server database MariaDB. Inoltre, hai protetto Matomo con certificati SSL generati tramite Certbot e Letsencrypt.

Con questo in mente, ora puoi iniziare ad aggiungere i tuoi siti web e monitorare i tuoi visitatori nel rispetto della privacy basata su Matomo Web Analytics

Articoli correlati: