Comment installer Matomo Web Analytics sur Ubuntu 18.04 LTS

Matomo(anciennementPiwik) est uneapplication d’analyse web gratuite etopen sourceapplication d’analyse Webdéveloppée par une équipe de développeurs internationaux, qui fonctionne sur unserveur WebPHP/MySQL.Elle suit les visites en lignesur un ou plusieurs sites Webet affiche des rapports sur ces visites à des fins d’analyse. Tu peux la considérer comme une alternative à Google Analytics. Matomo est open source et son code est disponible publiquement sur Github. Certaines des fonctionnalités qu’il propose sont :A/B Testing, Heatmaps, Funnels, Tracking and Reporting API, Google AdWords, Facebook Ads, Bing Ads, Coût par clic (CPC), etc. Ce tutoriel te montrera comment installer Matomo sur un système Ubuntu 18.04 LTS en utilisant Nginx comme serveur Web et nous sécuriserons le site Web avec un certificat SSL Let’s Encrypt.

Exigences

Pour exécuter Matomo (Piwik) sur ton système Ubuntu, tu auras besoin de quelques éléments :

  • Un serveur Web tel qu’Apache, Nginx, IIS.
  • PHP version 5.5.9 ou supérieure avec les extensionspdoet pdo_mysql ou mysqli, gd, xml, curl et mbsting. PHP 7+ est recommandé.
  • MySQL version 5.5 ou supérieure, ou la version MariaDB équivalente. MySQL 5.7+ est recommandé.

Conditions préalables

  • Un système d’exploitation exécutant Ubuntu 18.04.
  • Un utilisateur non-root avec des privilèges sudo.

Étapes initiales

Vérifie ta version d’Ubuntu :

lsb_release -ds
# Ubuntu 18.04.1 LTS

Configure le fuseau horaire :

sudo dpkg-reconfigure tzdata

Mets à jour les paquets (logiciels) de ton système d’exploitation. C’est une première étape importante car elle permet de s’assurer que tu disposes des dernières mises à jour et des derniers correctifs de sécurité pour les paquets logiciels par défaut de ton système d’exploitation :

sudo apt update && sudo apt upgrade -y

Installe certains paquets essentiels qui sont nécessaires à l’administration de base du système d’exploitation Ubuntu :

sudo apt install -y curl wget vim git unzip socat

Étape 1 – Installe MySQL et crée une base de données pour Matomo

Matomo prend en charge les bases de données MySQL et MariaDB. Dans ce tutoriel, nous utiliserons MySQL comme serveur de base de données.

Installe le serveur de base de données MySQL :

sudo apt install -y mysql-server

Vérifie la version de MySQL :

mysql --version
# mysql  Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using  EditLine wrapper

Exécutemysql_secure installationscript pour améliorer la sécurité de MySQL et définir le mot de passe pour MySQLrootutilisateur :

sudo mysql_secure_installation

Réponds à chacune des questions :

Would you like to setup VALIDATE PASSWORD plugin? N
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

Connecte-toi au shell MySQL en tant qu'utilisateur root :

sudo mysql -u root -p
# Enter password

Crée une base de donnéesMySQL vide et un utilisateur pour Matomo et mémorise les informations d'identification :

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Quitte MySQL :

mysql> exit

Remplacedbname,username etpasswordpar tes propres noms.

Étape 2 - Installe PHP et les extensions PHP nécessaires

Installe PHP, ainsi que les extensions PHP nécessaires :

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php7.2-xml php7.2-mbstring php7.2-mysql

Vérifie la version de PHP :

php --version

# PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Le service PHP-FPM est automatiquement lancé et activé au redémarrage sur le système Ubuntu 18.04, il n'est donc pas nécessaire de le lancer et de l'activer manuellement.Nous pouvons passer à l'étape suivante, qui consiste à obtenir des certs SSL gratuits auprès de l'autorité de certification Let's Encrypt.

Étape 3 - Installe leclientacme.shet obtiens le certificat Let's Encrypt(facultatif)

Il n'est pas nécessaire de sécuriser ton site Web avec HTTPS, mais c'est une bonne pratique pour sécuriser le trafic de ton site. Pour obtenir le certificat TLS de Let's Encrypt, nous allons utiliser le client Acme.sh. Acme.sh est un logiciel shell unix pur pour obtenir des certificats TLS de Let's Encrypt sans aucune dépendance.

Télécharge et installe 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 ~

Vérifie la version d'Acme.sh :

/etc/letsencrypt/acme.sh --version
# v2.8.0

Obtiens des certificats RSA etECC/ECDSApour ton domaine/nom d'hôte :

# 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

Après avoir exécuté les commandes ci-dessus, tescertificatsetclésseront dans :

  • PourRSA:/etc/letsencrypt/example.comrépertoire.
  • PourECC/ECDSA:/etc/letsencrypt/example.com_eccrépertoire.

Étape 3 - Installe NGINX et configure NGINX pour Matomo

Matomo peut fonctionner correctement avec de nombreux logiciels de serveur Web populaires. Dans ce tutoriel, nous avons choisi Nginx.

Télécharge et installe la dernière version mainline de Nginx depuis le dépôt Ubuntu :

sudo apt install -y nginx

Vérifie la version de Nginx :

sudo nginx -v
# nginx version: nginx/1.14.0

Configure Nginx pour Matomo en exécutant :

sudo vim /etc/nginx/sites-available/matomo.conf

Et remplis le fichier avec la configuration suivante :

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.2-fpm.sock;
}

location
= /plugins/HeatmapSessionRecording/configs.php {
include snippets/fastcgi-php.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/var/run/php/php7.2-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;
}

}

NOTE:Pour une configuration Nginx complète et prête pour la production pour Matomo, visitehttps://github.com/matomo-org/matomo-nginx.

Active la nouvelleconfigurationmatomo.confen liant le fichier au répertoiresites-enabled.

sudo ln -s /etc/nginx/sites-available/matomo.conf /etc/nginx/sites-enabled

Vérifie que la configuration Nginx ne contient pas d'erreurs de syntaxe :

sudo nginx -t

Recharge le service Nginx :

sudo systemctl reload nginx.service

Étape 4 - Installe Matomo Analytics

Crée/var/wwwrépertoire :

sudo mkdir -p /var/www/

Navigue dans le répertoire /var/www:

cd /var/www/

Télécharge la dernière version de Matomo via wget et décompresse-la :

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

Supprime le fichier téléchargématomo.ziptéléchargés :

sudo rm matomo.zip

Change la propriété durépertoire/var/www/matomo à l'utilisateurwww-data :

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

Étape 5 - Termine l'installation de Matomo Analytics

Ouvre ton site dans un navigateur Web et suis l'assistant d'installation Web de Matomo.

Tout d'abord, le message de bienvenue de Matomo devrait apparaître. Clique sur le bouton "Suivant":

Assistant d'installation de Matomo

Ensuite, tu verras une page "Vérification du système". S'il manque quelque chose, tu verras un avertissement. Si tout est coché en vert, clique sur le bouton "Suivant" pour passer à l'étape suivante :

Vérification du système

Ensuite, remplis les détails de la base de données et clique sur le boutonbouton "Suivant".bouton :

Configuration de la base de données

Si tout s'est bien passé avec la configuration de la base de données, tu devrais voir lemessage "Tables créées avec succès !":

Créer des tables de base de données

Crée un compte super utilisateur Matomo et clique sur le boutonbouton "Suivant".bouton :

Crée un compte de super utilisateur

Ensuite, configure le premier site Web que tu souhaites suivre et analyser avec Matomo. Plus tard, tu pourras ajouter d'autres sites à suivre avec Matomo :

Ajoute un site Web à Matomo

Ensuite, tu recevras le code de suivi JavaScript pour ton site que tu dois ajouter pour commencer le suivi.

Code de suivi Javascript

Ensuite, tu devrais voir que l'installation de Matomo est terminée.

L'installation de Matomo est terminée

Félicitations ! Ton installation de Matomo est terminée.

Vous aimerez aussi...