15/11/2024

Installation de Matomo sur Apache

Pour utiliser la solution Matomo, soit vous l’hébergez vous-même sur votre propre serveur, que ce soit un serveur dédié ou mutualisé, soit vous l’utiliser en mode Saas. En effet, votre instance de Matomo sera hébergée par Innocraft, et le tarif dépend principalement du nombre de sites à gérer et du nombre de pages vues par mois.

Dans notre cas, on s’intéresse à l’utilisation en mode self-hosted où l’on va déployer Matomo sur un serveur web Apache, sous Debian, avec le moteur MySQL pour la base de données.

Pour commencer, connectez-vous en shell sur votre serveur (console ou SSH).

I. Installation des paquets

Les recommandations de Matomo sont les suivantes pour la mise en place de Matomo :

- Un serveur web (Apache, Nginx, IIS, etc.)

- PHP en version 5.5.9 minimum, recommandé PHP 7

- MySQL 5.7 minimum ou MariaDB

- Activer les extensions PHP "pdo" et "pdo_mysql"

Commencez par installer les paquets nécessaires :

sudo apt-get update
sudo apt-get install apache2 mysql-server php7.0 php7.0-curl php7.0-gd php7.0-cli php7.0-mysql php-xml php7.0-mbstring

Nous allons maintenant préparer la partie base de données.

II. Créer une base de données pour Matomo

Pour installer l’application Matomo sur son serveur, pour des raisons de sécurité, il est recommandé d’utiliser un utilisateur dédié dans MySQL pour la base de données de Matomo.

Connectez-vous à MySQL :

$ mysql -u root -p

Créer la base de données « DB18_MATOMO » :

$ MariaDB > CREATE DATABASE DB18_MATOMO;

On va créer un utilisateur, nommé « matomo » qui aura des droits sur la base de données dédiée à Matomo :

$ MariaDB > CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'YourM@gicPasSword';

Donnons maintenant les droits à cet utilisateur. Nous pouvons lui donner tous les droits sur la base de données Matomo, ou se contenter de donner les droits selon les recommandations officielles de Matomo. C’est ce que nous allons faire :

$ MariaDB > GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON DB18_MATOMO.* TO 'matomo'@'localhost';

La configuration étant terminée, fermez la connexion MySQL :

$ MariaDB > exit

Maintenant, passons à la mise en place de l’application sur le serveur web Apache.

III. Mettre en place Matomo sur Apache

On va télécharger l’archive ZIP de Matomo à la racine de notre serveur web et l’extraire. Saisissez cet enchaînement de commandes :

cd /var/www && wget https://builds.piwik.org/piwik.zip && unzip piwik.zip

Si l’extraction a fonctionné, supprimez le fichier ZIP :

rm piwik.zip

L’utilisateur par défaut de Apache étant « www-data » on va lui donner la propriété du dossier « piwik » et de son contenu :

chown www-data:www-data piwik -R

Avant de se lancer dans l’installation, il faut préparer le VirtualHost pour Matomo dans la configuration d’Apache.

nano /etc/apache2/sites-available/matomo.conf

On va créer un site qui écoute sur le port 80 (*:80), en http donc, et on va indiquer que la racine est « /var/www/piwik » (DocumentRoot). Le nom de domaine associé est « stats.it-connect.fr » (ServerName / ServerAlias) c’est-à-dire que lorsqu’Apache sera interrogé avec ce nom de domaine il fera correspondre à cette configuration VirtualHost. Voici le contenu du fichier « matomo.conf » :

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName stats.it-connect.fr
  DocumentRoot "/var/www/piwik"
  DirectoryIndex index.html index.htm index.php default.php
  ServerAlias stats.it-connect.fr
  RewriteEngine On
<Directory "/var/www/piwik">
   Options -Indexes +FollowSymLinks +MultiViews
   AllowOverride all
   Order allow,deny
   Allow from all
</Directory>
</VirtualHost>

Activez le nouveau site avec la commande a2ensite prévue pour cela :

a2ensite matomo.conf

Avant de recharger la configuration Apache, activez le module « rewrite » pour la réécriture des URL :

a2enmod rewrite

Rechargez la configuration d’Apache pour prendre en compte le nouveau site :

systemctl reload apache2

Normalement, il ne devrait pas y avoir d’erreurs au redémarrage. Vous pouvez vous rendre sur l’interface d’installation maintenant : http://stats.it-connect.fr

IV. Installer Matomo

Depuis votre navigateur, vous devez accéder à cette interface suite à la mise en place de la configuration précédente. Cliquez sur « Suivant ».

La première étape consiste à vérifier que les prérequis sont bien respectés, s’il y a un blocage, il vous faudra le corriger avant de poursuivre. Si vous avez bien installé les paquets indiqués, ça doit passer.

L’installeur va devoir alimenter la base de données de Matomo. Il est temps d’indiquer les valeurs correspondantes à notre serveur de bases de données.

Le serveur sera l’hôte local donc « 127.0.0.1 », puis indiquez les autres informations en fonction des valeurs indiquées lorsque l’on a configuré la database.

Si vos informations de connexion sont correctes, la création de la structure de la base de données sera réalisée avec succès.

Vous devez maintenant configurer un compte utilisateur « super-admin » pour Matomo. Afin de sécuriser ce compte, je vous encourage à sécuriser à la fois le login, et le mot de passe. Autrement dit, évitez le classique « admin » ou « matomo » comme identifiant (pas comme sur ma copie d'écran).

L’installation de Matomo est désormais terminée, mais l’assistant nous propose directement de paramétrer notre premier site. Je vous propose de suivre ces étapes dans le prochain chapitre.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.