Matomo precedentemente noto come Piwik è un'applicazione di analisi open source per il sistema operativo Linux. È molto simile a Google Analytics che ti aiuta a tracciare e visualizzare la posizione delle visite degli utenti. È stato sviluppato da un team di sviluppatori internazionali che gira su un server web PHP/MySQL. Offre molte funzionalità, alcune sono elencate di seguito:
- Flessibilità, affidabilità e sicurezza
- Self-hosted, semplice e facile da usare
- Proprietà dei dati al 100%
- Conformità al GDPR
- Analisi web e mobile
In questo tutorial, ti mostreremo come installare e configurare l'applicazione di analisi Piwik sul server CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8.
- Un nome di dominio valido puntato all'IP del tuo server.
- Sul tuo server è configurata una password di root.
Installa il server LAMP
Piwik funziona su un server LAMP, quindi dovrai installare le estensioni Apache, MariaDB, PHP e altre estensioni PHP sul tuo sistema. Puoi installarli tutti con il seguente comando:
dnf install httpd mariadb-server php php-mysqlnd php-fpm unzip wget php-json php-dom php-gd php-mbstring -y
Una volta installati tutti i pacchetti, modifica il file php.ini e imposta alcuni valori desiderati:
nano /etc/php.ini
Modifica i seguenti valori:
upload_max_filesize = 10M post_max_size = 10M max_execution_time = 300 max_input_time = 300 memory_limit = 256M
Salva e chiudi il file, quindi avvia il servizio Apache e MariaDB e abilita l'avvio al riavvio del sistema:
systemctl start mariadb
systemctl start httpd
systemctl enable mariadb
systemctl enable httpd
Crea un database per Piwik
Successivamente, dovrai creare un database e un utente per Piwik. Innanzitutto, accedi a MariaDB con il seguente comando:
mysql
Una volta effettuato l'accesso, crea un database e un utente con il seguente comando:
mysql> CREATE DATABASE matomo;
mysql> CREATE USER `matomo`@`localhost` IDENTIFIED BY 'password';
Quindi, concedi tutti i privilegi al database con il seguente comando:
mysql> GRANT ALL ON matomo.* TO `matomo`@`localhost`;
Quindi, svuota i privilegi ed esci da MariaDB con il seguente comando:
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
Installa Piwik
Successivamente, dovrai scaricare l'ultima versione di Piwik dal loro sito Web ufficiale. Per prima cosa, cambia la directory nella web root di Apache con il seguente comando:
cd /var/www/html
Quindi, scarica Piwik usando il seguente comando:
wget https://builds.matomo.org/matomo-latest.zip
Una volta completato il download, decomprimere il file scaricato con il seguente comando:
unzip matomo-latest.zip
Quindi, imposta l'autorizzazione e la proprietà appropriate per la radice web con il comando seguente:
chown -R apache:apache /var/www/html/matomo
chmod -R 775 /var/www/html/matomo
Una volta terminato, puoi procedere al passaggio successivo.
Configura SELinux e Firewall
Successivamente, dovrai consentire alle porte 80 e 443 attraverso il firewall. Puoi consentirli con il seguente comando:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
Quindi, ricarica il firewalld per applicare le modifiche:
firewall-cmd --reload
Successivamente, dovrai anche configurare SELinux per Piwik. Puoi configurarlo con il seguente comando:
chcon -R -t httpd_sys_rw_content_t /var/www/html/matomo/
setsebool httpd_can_network_connect on -P
Una volta terminato, puoi procedere al passaggio successivo.
Configura Apache per Piwik
Successivamente, dovrai configurare il server Web Apache per ospitare il sito Web Piwik. Puoi farlo creando un nuovo file di configurazione dell'host virtuale Apache:
nano /etc/httpd/conf.d/piwik.conf
Aggiungi le seguenti righe:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/matomo" ServerName piwik.example.com <Directory "/var/www/html/matomo/"> Options MultiViews FollowSymlinks AllowOverride All Order allow,deny Allow from all </Directory> TransferLog /var/log/httpd/matomo_access.log ErrorLog /var/log/httpd/matomo_error.log </VirtualHost>
Salva e chiudi il file quando hai finito. Quindi, riavvia il server Web Apache per applicare le modifiche:
systemctl restart httpd
Ora puoi controllare lo stato di Apache con il seguente comando:
systemctl status httpd
Dovresti ottenere il seguente output:
? httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Active: active (running) since Sun 2020-12-27 05:38:29 EST; 5s ago Docs: man:httpd.service(8) Main PID: 4228 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 12523) Memory: 36.8M CGroup: /system.slice/httpd.service ??4228 /usr/sbin/httpd -DFOREGROUND ??4229 /usr/sbin/httpd -DFOREGROUND ??4230 /usr/sbin/httpd -DFOREGROUND ??4231 /usr/sbin/httpd -DFOREGROUND ??4232 /usr/sbin/httpd -DFOREGROUND Dec 27 05:38:28 centos8 systemd[1]: Stopped The Apache HTTP Server. Dec 27 05:38:28 centos8 systemd[1]: Starting The Apache HTTP Server...
Una volta terminato, puoi procedere al passaggio successivo.
Accedi all'interfaccia web di Piwik
Ora apri il tuo browser web e accedi all'interfaccia web di Piwik utilizzando l'URL http://piwik.example.com . Verrai reindirizzato alla seguente pagina:
Fai clic su AVANTI , dovresti vedere la pagina di controllo del sistema:
Fai clic su AVANTI , dovresti vedere la pagina di configurazione del database:
Fornisci il nome utente del database, il nome del database, la password e fai clic su AVANTI , dovresti vedere la seguente pagina:
Fai clic su AVANTI , dovresti vedere la pagina di creazione dell'utente amministratore:
Fornisci il nome utente, la password e l'e-mail dell'amministratore, quindi fai clic su AVANTI . Dovresti vedere la pagina di configurazione del sito web:
Fornisci i dettagli del tuo sito web e fai clic su AVANTI . Dovresti vedere il tuo codice di monitoraggio nella pagina seguente:
Fai clic su AVANTI . Una volta terminata l'installazione. Dovresti vedere la seguente pagina:
Fare clic su CONTINUA A MATOMO . Dovresti vedere la pagina di accesso di MATOMO:
Fornisci il nome utente e la password dell'amministratore e fai clic su ACCEDI . Dovresti vedere la dashboard MATOMO nella pagina seguente:
Proteggi Matomo con Let's Encrypt SSL
Successivamente, dovrai installare l'utilità Certbot nel tuo sistema per scaricare e installare Let's Encrypt SSL per il tuo sito Web Piwik.
Puoi installare il client Certbot con il seguente comando:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
Quindi, ottieni e installa un certificato SSL per il tuo sito Web Mantis con il seguente comando:
certbot-auto --apache -d piwik.example.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for piwik.example.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/httpd/conf.d/piwik.conf
Successivamente, dovrai scegliere se reindirizzare o meno il traffico HTTP su HTTPS come mostrato di seguito:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Digita 2 e premi Invio per continuare. Al termine dell'installazione, dovresti vedere il seguente output:
Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/piwik.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://piwik.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=piwik.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/piwik.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/piwik.example.com/privkey.pem Your cert will expire on 2020-03-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
A questo punto, il tuo sito web è protetto con Let's Encrypt SSL.
Conclusione Congratulazioni! hai installato e configurato correttamente Piwik con Apache e Let's Encrypt SSL su CentOS 8. Ora puoi aggiungere il tuo codice di monitoraggio nel tuo sito web e iniziare a monitorare i visitatori del tuo sito web dalla dashboard di Piwik. Sentiti libero di chiedermi se hai qualche domanda.