Comment installer Matomo (Piwik) Web Analytics sur CentOS 8

Matomo, anciennement connu sous le nom de Piwik, est une application d’analyse open-source pour le système d’exploitation Linux. Elle est très similaire à Google Analytics qui t’aide à suivre et à afficher l’emplacement des visites des utilisateurs. Elle a été développée par une équipe de développeurs internationaux et fonctionne sur un serveur Web PHP/MySQL. Il offre de nombreuses fonctionnalités, dont certaines sont énumérées ci-dessous :

  • Flexibilité, Fiabilité et sécurité
  • Auto-hébergé, simple et facile à utiliser
  • Propriété des données à 100
  • Conformité GDPR
  • Analyses Web et mobiles

Dans ce tutoriel, nous allons te montrer comment installer et configurer l’application d’analyse Piwik sur le serveur CentOS 8.

Conditions préalables

  • Un serveur exécutant CentOS 8.
  • Un nom de domaine valide pointé avec l’IP de ton serveur.
  • Un mot de passe root est configuré sur ton serveur.

Installer le serveur LAMP

Piwik fonctionne sur un serveur LAMP. Tu devras donc installer Apache, MariaDB, PHP et d’autres extensions PHP sur ton système. Tu peux tous les installer avec la commande suivante :

dnf install httpd mariadb-server php php-mysqlnd php-fpm unzip wget php-json php-dom php-gd php-mbstring -y

Une fois que tous les paquets sont installés, modifie le fichier php.ini et définis certaines valeurs souhaitées :

nano /etc/php.ini

Change les valeurs suivantes :

upload_max_filesize = 10M
post_max_size = 10M
max_execution_time = 300
max_input_time = 300
memory_limit = 256M

Enregistre et ferme le fichier puis démarre le service Apache et MariaDB et active leur démarrage au redémarrage du système :

systemctl start mariadb
systemctl start httpd
systemctl enable mariadb
systemctl enable httpd

Créer une base de données pour Piwik

Ensuite, tu devras créer une base de données et un utilisateur pour Piwik. Tout d’abord, connecte-toi à MariaDB avec la commande suivante :

mysql

Une fois connecté, crée une base de données et un utilisateur avec la commande suivante :

mysql> CREATE DATABASE matomo;
mysql> CREATE USER `matomo`@`localhost` IDENTIFIED BY 'password';

Ensuite, accorde tous les privilèges à la base de données avec la commande suivante :

mysql> GRANT ALL ON matomo.* TO `matomo`@`localhost`;

Ensuite, annule les privilèges et quitte MariaDB avec la commande suivante: :

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Installe Piwik

Ensuite, tu devras télécharger la dernière version de Piwik depuis leur site officiel. Tout d’abord, chnage le répertoire à la racine du site web d’Apache avec la commande suivante :

cd /var/www/html

Ensuite, télécharge le Piwik à l’aide de la commande suivante :

wget https://builds.matomo.org/matomo-latest.zip

Une fois le téléchargement terminé, décompresse le fichier téléchargé avec la commande suivante :

unzip matomo-latest.zip

Ensuite, définis la permission et la propriété appropriées à la racine web avec la commande suivante :

chown -R apache:apache /var/www/html/matomo
chmod -R 775 /var/www/html/matomo

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configure SELinux et le pare-feu

Ensuite, tu devras autoriser les ports 80 et 443 à travers le pare-feu. Tu peux les autoriser avec la commande suivante :

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https

Ensuite, recharge le firewalld pour appliquer les modifications :

firewall-cmd --reload

Ensuite, tu devras également configurer SELinux pour Piwik. Tu peux le configurer avec la commande suivante :

chcon -R -t httpd_sys_rw_content_t /var/www/html/matomo/
setsebool httpd_can_network_connect on -P

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configure Apache pour Piwik

Ensuite, tu devras configurer le serveur Web Apache pour héberger le site Web de Piwik. Tu peux le faire en créant un nouveau fichier de configuration d’hôte virtuel Apache :

nano /etc/httpd/conf.d/piwik.conf

Ajoute les lignes suivantes :

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

Enregistre et ferme le fichier lorsque tu as terminé. Ensuite, redémarre le serveur Web Apache pour appliquer les modifications :

systemctl restart httpd

Tu peux maintenant vérifier l’état d’Apache avec la commande suivante :

systemctl status httpd

Tu devrais obtenir la sortie suivante :

? 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...

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Accède à l’interface Web de Piwik

Maintenant, ouvre ton navigateur Web et accède à l’interface Web Piwik en utilisant l’URL http://piwik.example.com. Tu seras redirigé vers la page suivante :

Installateur Piwik

Clique sur le bouton SUIVANT, tu devrais voir la page de vérification du système :

Vérification du système

Clique sur SUIVANT, tu devrais voir la page de configuration de la base de données :

Configuration de la base de données

Indique ton nom d’utilisateur de la base de données, le nom de la base de données, le mot de passe et clique sur SUIVANT, la page suivante s’affiche :

Créer des tables de base de données

Clique sur SUIVANT, la page de création de l’utilisateur admin s’affiche :

Ajoute le compte d'utilisateur admin

Indique ton nom d’utilisateur admin, ton mot de passe, ton email puis clique sur SUIVANT. Tu devrais voir la page de création de site Web :

Configurer un site Web

Indique les détails de ton site Web et clique sur SUIVANT. Tu devrais voir le code de suivi sur la page suivante :

Code de suivi JS pour Piwik

Analyse des journaux

Clique sur le bouton SUIVANT. Une fois l’installation terminée. Tu devrais voir la page suivante :

Installation terminée

Clique sur le bouton CONTINUER À MATOMO. Tu devrais voir la page de connexion de MATOMO :

Connexion à Matomo

Indique ton nom d’utilisateur admin, ton mot de passe et clique sur SIGN IN. Tu devrais voir le tableau de bord de MATOMO à la page suivante :

Tableau de bord des statistiques

Sécurise Matomo avec Let’s Encrypt SSL

Ensuite, tu devras installer l’utilitaire Certbot dans ton système pour télécharger et installer Let’s Encrypt SSL pour ton site Web Piwik.

Tu peux installer le client Certbot avec la commande suivante :

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

Ensuite, obtiens et installe un certificat SSL pour ton site Web Mantis avec la commande suivante :

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

Ensuite, tu devras choisir de rediriger ou non le trafic HTTP vers HTTPS comme indiqué ci-dessous :

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

Tape 2 et appuie sur Entrée pour continuer. Une fois l’installation terminée, tu devrais voir le résultat suivant :

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

À ce stade, ton site Web est sécurisé avec Let’s Encrypt SSL.

Conclusion Félicitations ! Tu as réussi à installer et à configurer Piwik avec Apache et Let’s Encrypt SSL sur CentOS 8. Tu peux maintenant ajouter ton code de suivi dans ton site Web et commencer à surveiller les visiteurs de ton site Web depuis le tableau de bord Piwik. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...