Ricerca nel sito web

Come installare Matomo (Piwik) Web Analytics su CentOS 8


Su questa pagina

  1. Prerequisiti
  2. Installa il server LAMP
  3. Crea un database per Piwik
  4. Installa Piwik
  5. Configura SELinux e Firewall
  6. Configura Apache per Piwik
  7. Accedi all'interfaccia web di Piwik
  8. Proteggi Matomo con Lets Encrypt SSL

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 delle quali 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 indicato con l'IP del tuo server.
  • Una password di root è configurata sul tuo server.

Installa LAMP Server

Piwik funziona su un server LAMP, quindi dovrai installare 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

Modificare 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 abilitali all'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, creare 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`;

Successivamente, scarica 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 root web 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 web root con il seguente comando:

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 la porta 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

Successivamente, 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 
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 usando 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 tuo 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:

Clicca 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 Lets Encrypt SSL

Successivamente, dovrai installare l'utilità Certbot nel tuo sistema per scaricare e installare Lets 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

Successivamente, 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): 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 Lets Encrypt SSL.

Conclusione Congratulazioni! hai installato e configurato correttamente Piwik con Apache e Lets Encrypt SSL su CentOS 8. Ora puoi aggiungere il tuo codice di tracciamento 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.