Matomo, anciennement connu sous le nom de Piwik, est une application d'analyse open source pour le système d'exploitation Linux. Il est très similaire à Google Analytics qui vous aide à suivre et à afficher l'emplacement des visites des utilisateurs. Il a été développé par une équipe de développeurs internationaux qui s'exécute sur un serveur Web PHP/MySQL. Il offre de nombreuses fonctionnalités, dont certaines sont répertoriées ci-dessous :
- Flexibilité, fiabilité et sécurité
- Auto-hébergé, simple et facile à utiliser
- Propriété des données à 100 %
- Conformité RGPD
- Analyse Web et mobile
Dans ce didacticiel, nous allons vous montrer comment installer et configurer l'application d'analyse Piwik sur le serveur CentOS 8.
Prérequis
- Un serveur exécutant CentOS 8.
- Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur votre serveur.
Installer le serveur LAMP
Piwik fonctionne sur un serveur LAMP, vous devrez donc installer les extensions Apache, MariaDB, PHP et autres extensions PHP sur votre système. Vous pouvez 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 tous les packages installés, modifiez le fichier php.ini et définissez les valeurs souhaitées :
nano /etc/php.ini
Modifiez les valeurs suivantes :
upload_max_filesize = 10M post_max_size = 10M max_execution_time = 300 max_input_time = 300 memory_limit = 256M
Enregistrez et fermez le fichier, puis démarrez les services Apache et MariaDB et autorisez-les à démarrer 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, vous devrez créer une base de données et un utilisateur pour Piwik. Tout d'abord, connectez-vous à MariaDB avec la commande suivante :
mysql
Une fois connecté, créez 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, accordez tous les privilèges à la base de données avec la commande suivante :
mysql> GRANT ALL ON matomo.* TO `matomo`@`localhost`;
Ensuite, videz les privilèges et quittez MariaDB avec la commande suivante :
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
Installer Piwik
Ensuite, vous devrez télécharger la dernière version de Piwik depuis leur site officiel. Tout d'abord, remplacez le répertoire par la racine Web Apache avec la commande suivante :
cd /var/www/html
Ensuite, téléchargez le Piwik à l'aide de la commande suivante :
wget https://builds.matomo.org/matomo-latest.zip
Une fois le téléchargement terminé, décompressez le fichier téléchargé avec la commande suivante :
unzip matomo-latest.zip
Ensuite, définissez l'autorisation et la propriété appropriées sur 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer SELinux et le pare-feu
Ensuite, vous devrez autoriser les ports 80 et 443 à travers le pare-feu. Vous pouvez les autoriser avec la commande suivante :
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
Ensuite, rechargez le pare-feu pour appliquer les modifications :
firewall-cmd --reload
Ensuite, vous devrez également configurer SELinux pour Piwik. Vous pouvez 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Apache pour Piwik
Ensuite, vous devrez configurer le serveur Web Apache pour héberger le site Web Piwik. Vous pouvez le faire en créant un nouveau fichier de configuration d'hôte virtuel Apache :
nano /etc/httpd/conf.d/piwik.conf
Ajoutez 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>
Enregistrez et fermez le fichier lorsque vous avez terminé. Redémarrez ensuite le serveur Web Apache pour appliquer les modifications :
systemctl restart httpd
Vous pouvez maintenant vérifier l'état de l'Apache avec la commande suivante :
systemctl status httpd
Vous devriez obtenir le résultat suivant :
? 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Accéder à l'interface Web de Piwik
Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web de Piwik en utilisant l'URL http://piwik.example.com . Vous serez redirigé vers la page suivante :
Cliquez sur SUIVANT , vous devriez voir la page de vérification du système :
Cliquez sur SUIVANT , vous devriez voir la page de configuration de la base de données :
Fournissez votre nom d'utilisateur de base de données, votre nom de base de données, votre mot de passe et cliquez sur SUIVANT , vous devriez voir la page suivante :
Cliquez sur SUIVANT , vous devriez voir la page de création de l'utilisateur administrateur :
Indiquez votre nom d'utilisateur, votre mot de passe et votre adresse e-mail, puis cliquez sur SUIVANT . Vous devriez voir la page de configuration du site :
Fournissez les détails de votre site Web et cliquez sur SUIVANT . Vous devriez voir votre code de suivi sur la page suivante :
Cliquez sur SUIVANT . Une fois l'installation terminée. Vous devriez voir la page suivante :
Cliquez sur CONTINUER VERS MATOMO . Vous devriez voir la page de connexion MATOMO :
Fournissez votre nom d'utilisateur administrateur, votre mot de passe et cliquez sur CONNEXION . Vous devriez voir le tableau de bord MATOMO sur la page suivante :
Sécuriser Matomo avec Let's Encrypt SSL
Ensuite, vous devrez installer l'utilitaire Certbot sur votre système pour télécharger et installer Let's Encrypt SSL pour votre site Web Piwik.
Vous pouvez 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, obtenez et installez un certificat SSL pour votre 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, vous devrez 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
Tapez 2 et appuyez sur Entrée pour continuer. Une fois l'installation terminée, vous devriez voir la sortie suivante :
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, votre site Web est sécurisé avec Let's Encrypt SSL.
Conclusion Félicitations ! vous avez installé et configuré avec succès Piwik avec Apache et Let's Encrypt SSL sur CentOS 8. Vous pouvez maintenant ajouter votre code de suivi sur votre site Web et commencer à surveiller les visiteurs de votre site Web à partir du tableau de bord Piwik. N'hésitez pas à me demander si vous avez des questions.