Comment installer Matomo sur CentOS 7 Nginx

Comment installer Matomo sur CentOS 7 Nginx

Dans cet article, nous allons apprendre à installer Matomo sur CentOS 7 Nginx.

Matomo, anciennement Piwik, est une application d'analyse Web gratuite et open source développée par une équipe de développeurs internationaux, qui s'exécute sur un serveur Web PHP/MySQL. Il suit les visites en ligne sur un ou plusieurs sites Web et affiche des rapports sur ces visites pour analyse.

Pourquoi Matomo

Les données analytiques vous appartiennent. Vos données Matomo Analytics vous appartiennent à 100%, sans qu'aucune partie externe ne les regarde.

Contrairement à Google Analytics qui utilise vos données pour servir sa plate-forme publicitaire, les utilisateurs de Matomo peuvent utiliser des analyses en toute sécurité sans se soucier des données utilisées à des fins de marketing ou à d'autres fins.

Conditions préalables:

Avant de commencer, assurez-vous que vous disposez des éléments suivants :

  • Un VPS ou un serveur dédié.
  • Un système d'exploitation exécutant CentOS 7
  • Accès à votre serveur web (via shell ou FTP)

1. Étapes initiales

Gardez votre serveur à jour :

# yum update -y

2. Installez MariaDB 10.4 et créez une base de données pour Matomo

Créez le fichier MariaDB.repo dans votre éditeur préféré :

# vi /etc/yum.repos.d/MariaDB.repo

Et ajoutez les lignes suivantes :

# MariaDB 10.4 CentOS repository list
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]

name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Maintenant, lancez l'installation de MariaDB 10.4

# yum install MariaDB-client MariaDB-server

Une fois terminé, démarrez MariaDB :

# systemctl start mariadb.service

# systemctl enable mariadb.service

Sécurisez MySQL

# mysql_secure_installation

2. Installez Nginx

Ajoutez le référentiel EPEL (Extra Packages for Enterprise Linux) :

# yum install epel-release

Maintenant, installez NGINX à l'aide de la commande suivante :

# yum install nginx

Démarrer et activer le service Nginx

# systemctl start nginx

# systemctl enable nginx

Configurer Nginx pour Matomo

# vi /etc/nginx/conf.d/matomo.conf

Ajoutez les lignes de configuration suivantes :

server {

listen [::]:80;
listen 80;

server_name example.com;
root /var/www/matomo/;
index index.php;

location ~ ^/(index|matomo|piwik|js/index).php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param HTTP_PROXY "';
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
}

location = /plugins/HeatmapSessionRecording/configs.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param HTTP_PROXY "';
fastcgi_pass unix:/var/run/php-fpm/php-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;
}

}

Ne vous inquiétez pas de la redirection SSL pour l'instant. Nous installerons Let's Encrypt à l'aide de Certbot plus loin dans cet article. Certbot ajoutera automatiquement la redirection SSL et l'emplacement du certificat lors de l'obtention du certificat.

Tester la configuration

# nginx -t

Si le test réussit, redémarrez le service Nginx. Si le test échoue, vérifiez l'erreur et modifiez le fichier de configuration selon les exigences.

# systemctl restart nginx

3. Installer PHP avec PHP-FPM pour Nginx

Installez le dépôt Remi :

# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Activer la version PHP :

# yum-config-manager --enable remi-php73

Maintenant, installez PHP 7.3 avec les modules PHP requis :

# yum -y install php php-fpm php-common php-mysqlnd php-gd  php-json php-libxml php-mbstring php-xml php-curl php-fileinfo  php-mcrypt php-memcached php-imagick

Ouvrez le fichier de configuration php-fpm :

# vi /etc/php-fpm.d/www.conf

Recherchez l'utilisateur et le groupe, modifiez le paramètre en nginx à partir d'apache.

user = nginx

group = nginx

Trouvez le paramètre d'écoute et modifiez-le comme :

listen = /var/run/php-fpm/php-fpm.sock

Recherchez les lignes qui définissent le listen.owner et le listen.group et décommentez-les. Définir sur nginx :

listen.owner = nginx

listen.group = nginx

Une fois la configuration terminée, enregistrez et quittez.

Maintenant, démarrez et activez le processeur PHP :

# systemctl start php-fpm

# systemctl enable php-fpm

4. Installez Let's Encrypt à l'aide de Certbot

Installez le package certbot-nginx :

# yum install certbot-nginx -y

Obtention d'un certificat

# certbot --nginx -d yoursite.com -d www.yousite.com

5. Installez Matomo Analytics

Accédez au répertoire /var/www

# cd /var/www/

Téléchargez la dernière version de Matomo à l'aide de la commande wget et décompressez-la

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

Supprimer le fichier matomo.zip téléchargé

# rm -rf matomo.zip

Changez la propriété du répertoire /var/www/matomo en utilisateur nginx

# chown -R nginx:nginx /var/www/matomo

6. Complétez l'analyse Matomo

Ouvrez votre site Web dans le navigateur et suivez l'assistant d'installation Web de Matomo.

Il est temps de commencer l'installation par pointer-cliquer ! Cliquez sur Suivant "

Comment installer Matomo sur CentOS 7 Nginx

Nous avons appris avec succès à installer Matomo sur CentOS 7 Nginx.