Matomo precedentemente noto come Piwik è un'applicazione di analisi web gratuita che può essere utilizzata per tenere traccia delle visite online a uno o più siti Web e visualizzare report su queste visite per l'analisi. Matomo è dotato di molte funzioni tra cui Google AdWords, Facebook Ads, Yahoo! Marketing di ricerca, API di monitoraggio e reporting, costo per clic (CPC) e molti altri.
In questo tutorial spiegherò come installare Matomo sul server Ubuntu 18.04 LTS.
Requisiti
- Un server che esegue Ubuntu 18.04 LTS.
- Un utente non root con privilegi sudo.
Installa il server LAMP
Matomo viene eseguito sul server web, scritto in linguaggio PHP e utilizza MariaDB per memorizzare i propri dati. Quindi, dovrai installare sul tuo sistema Apache, MariaDB, PHP e altri moduli PHP richiesti.
Aggiorna il repository di Ubuntu e installa PHP insieme ad Apache e MariaDB con il seguente comando:
sudo apt-get update -y sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip wget unzip git -y
Una volta installati tutti i pacchetti, avvia il servizio Apache e MariaDB e abilita l'avvio all'avvio con il seguente comando:
sudo systemctl start apache2 sudo systemctl enable apache2 sudo systemctl start mariadb sudo systemctl enable mariadb
Successivamente, dovrai modificare il file php.ini. Puoi farlo con il seguente comando:
sudo nano /etc/php/7.2/apache2/php.ini
Apporta le seguenti modifiche:
memory_limit = 256M upload_max_filesize = 200M max_execution_time = 360 date.timezone = Europe/Berlin
Salva e chiudi il file, quando hai finito.
Configura MariaDB
Successivamente, dovrai proteggere l'installazione di MariaDB. Puoi farlo eseguendo il seguente script:
sudo mysql_secure_installation
Rispondi a tutte le domande come mostrato di seguito:
Enter current password for root (enter for none): Set root password? [Y/n]: N 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
Una volta che MariaDB è protetto, accedi alla shell di MariaDB:
mysql -u root
Crea un database e un utente con il seguente comando:
MariaDB [(none)]> CREATE DATABASE matomodb; MariaDB [(none)]> CREATE USER matomo;
Quindi, concedi i privilegi al database Matomo con il seguente comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON matomodb.* TO 'matomo'@'localhost' IDENTIFIED BY 'mypassword';
Sostituisci la parola "mypassword" con una password sicura a tua scelta. Quindi, svuota i privilegi con il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
Quindi, esci dalla console MariaDB con il seguente comando:
MariaDB [(none)]> exit
Installa Matomo
Innanzitutto, scarica l'ultima versione di Matomo dal loro sito Web ufficiale nella directory /tmp:
cd /tmp wget https://builds.matomo.org/piwik.zip
Quindi, decomprimi il file scaricato con il seguente comando:
unzip piwik.zip
Quindi copia la directory estratta nella directory radice di Apache e dai i permessi appropriati:
sudo cp -r piwik /var/www/html/matomo sudo chown -R www-data:www-data /var/www/html/matomo/ sudo chmod -R 755 /var/www/html/matomo/
Infine, crea un file di configurazione di Apache per Matomo con il seguente comando:
sudo nano /etc/apache2/sites-available/matomo.conf
Aggiungi le seguenti righe:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/matomo ServerName example.com <Directory /var/www/html/matomo/> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/matomo_error.log CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined </VirtualHost>
Sostituisci example.com e l'indirizzo email [email protected] con il tuo nome di dominio e indirizzo email. Salva e chiudi il file, quindi abilita il file host virtuale e il modulo di riscrittura di Apache con il seguente comando:
sudo a2ensite matomo sudo a2enmod rewrite
Riavvia il servizio web Apache per applicare tutte le modifiche:
sudo systemctl restart apache2
Abilita SSL con Let's encrypt per Matomo
In questo passaggio, abiliteremo SSL per Matomo utilizzando un certificato SSL Let's encrypt gratuito. Il primo passo è installare il client certbot Let's encrypt che utilizzeremo per ottenere il certificato SSL.
sudo apt-get install certbot python-certbot-apache
Richiedi il certificato SSL con questo comando:
sudo certbot --apache
IMPORTANTE:il nome di dominio o il sottodominio che utilizzi per il sito Web RoundCube deve essere accessibile da Internet per ottenere un certificato SSL. Certbot ora farà alcune domande.
[email protected]: certbot --apache
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-v01.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 EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: n
Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: example.com
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/matomo-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/matomo-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/matomo-le-ssl.conf
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
Redirecting vhost in /etc/apache2/sites-enabled/matomo.conf to ssl vhost in /etc/apache2/sites-available/matomo-le-ssl.conf
-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com
-------------------------------------------------------------------------------
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2019-07-10. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- 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
Il vhost Matomo è ora accessibile da https.
Accedi a Matomo
Ora, apri il tuo browser web e digita l'URL https://example.com, verrai reindirizzato alla pagina di benvenuto di Matomo:
Ora, fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Qui, assicurati che tutto il modulo richiesto sia stato installato. Quindi, fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Qui, fornisci il tuo database e nome utente Matomo. Quindi, fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Ora, fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Qui, fornisci il nome utente e la password dell'amministratore. Quindi, fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Ora, fornisci il nome del sito, l'URL del sito web. Quindi, fai clic su Avanti pulsante. Dovresti vedere il codice di monitoraggio per il sito Matomo nella pagina seguente:
Ora, fai clic su Avanti pulsante. Una volta completata l'installazione. Dovresti vedere la seguente pagina:
Ora, fai clic su CONTINUA A MATOMO pulsante. Dovresti vedere la seguente pagina:
Ora, fornisci le credenziali di accesso dell'amministratore e fai clic su ACCEDI pulsante. Dovresti vedere il dashboard di Matomo nella pagina seguente: