Déployer Matomo sur Google Cloud Platform (GCP)

Écrit par :  Photo de profil de Lucas Rollin Lucas Rollin

Mis à jour : lundi 18 septembre 2023

Premiers pas avec Google Cloud Platform

Créer un compte de facturation

Si vous n’avez jamais utilisé Google Cloud Platform, pour commencer, rendez-vous à cette adresse : https://cloud.google.com/free.

Cliquez ensuite sur Profiter de l’essai gratuit, renseignez les informations demandées sur votre entreprise puis rentrez vos informations de paiements.

Vous devez rentrer votre carte bancaire pour commencer à utiliser Google Cloud. Vous allez bénéficier d’un crédit de 278 euros dans un premier temps mais lorsque ce crédit sera utilisé vous devrez manuallement passer votre compte en payant pour continuer à utiliser les services. À ce moment-là vous serez alors débité sur votre carte bancaire.

Vous êtes ensuite redirigé sur la vue d’ensemble de votre compte de facturation Google Cloud gratuit et vous pouvez voir votre crédit restant :

Crédits restants sur l'essai gratuit Google Cloud Platform
Crédits restants sur l'essai gratuit Google Cloud Platform

À la fin de votre essai gratuit (lorsque les 90 jours seront écoulés ou que les 278 euros seront dépensés), tous vos services vont se mettre en pause. Si vous souhaitez être facturé à la fin de votre essai pour assurer la continuité de vos services Cloud, vous pouvez dès à présent passer sur un compte de facturation payant en cliquant sur ACTIVER sur le bandeau qui va s’afficher en haut de l’interface de Google Cloud.

Activation du compte de facturation payant
Activation du compte de facturation payant

Une pop-up de confirmation s’affiche :

Pop-up de confirmation pour l'activation de votre compte de facturation payant
Pop-up de confirmation pour l'activation de votre compte de facturation payant

Créer un projet

Un premier projet qui se nomme My First Project a été créé pour vous. Vous pouvez créer un nouveau projet qui reflète l’usage que vous allez en faire.

Dans mon cas, je vais installer Matomo pour ce blog donc je vais nommer mon projet DMS Blog.

Création du projet DMS Blog dans GCP
Création du projet DMS Blog dans GCP

Créer une instance de VM Matomo

Maintenant que vous avez :

  1. créé un compte de facturation
  2. créé un projet

On va créer une machine virtuelle sur laquelle nous allons héberger Matomo.

Pour cela, rendez-vous dans Compute Engine puis Instances de VM.

Vous devez activer l’API Compute Engine car pour réduire la surface d’attaque de votre infrastructure Cloud, tous les services Google Cloud sont désactivés par défaut.

Activation de l'API Compute Engine
Activation de l'API Compute Engine

Une fois l’activation terminée, vous pouvez ensuite retourner dans Compute Engine puis Instances de VM.

Au lieu de créer une instance de VM à la main et configurer nous-même Matomo, nous allons utiliser une image d’instance proposée par Matomo dans la Marketplace de Google Cloud.

Menu des instances de VM dans Compute Engine
Menu des instances de VM dans Compute Engine

Pour cela, cliquez sur Marketplace en bas du menu latéral de gauche puis tapez Matomo dans la barre de recherche.

Recherche de Matomo dans la marketplace d'images de VM
Recherche de Matomo dans la marketplace d'images de VM

Cliquez sur Matomo (Google Click to Deploy) puis sur Lancement.

Image Matomo que nous allons déployer
Image Matomo que nous allons déployer

Pour le déploiement d’une instance qui vient de la marketplace, il est nécessaire d’activer deux services supplémentaires :

  • le Cloud Deployment Manager API
  • le Cloud Runtime Configuration API
APIs supplémentaires à activer pour le déploiement de Matomo
APIs supplémentaires à activer pour le déploiement de Matomo

Vous arrivez ensuite sur cette interface où Google Cloud vous propose une configuration qui coûte 55 euros par mois.

Configuration pré-définie par Google Cloud pour l'instance de VM
Configuration pré-définie par Google Cloud pour l'instance de VM

On va maintenant modifier cette configuration pour qu’elle réponde à nos besoins.

Pour cela, Matomo propose des configurations différentes en fonction du nombre mensuel de pages vues que vous avez sur votre site web : https://fr.matomo.org/faq/on-premise/matomo-requirements

Par exemple, pour maximum 100 000 pages vues mensuelles, la configuration requise est la suivante :

  • 1 serveur pour héberger la base de données et le serveur d’application (soit matomo)
  • 2 processeurs
  • 2 Go de RAM
  • 50 Go de SSD

Si votre trafic mensuel est encore bien inférieur à 100 000 pages vues mensuelles vous pouvez réduire le stockage SSD et l’ajuster par la suite.

Nous allons donc utiliser la configuration requise pour maximum 100 000 pages vues mensuelles dans Google Cloud.

Je choisis la configuration suivante :

  • Zone : Europe de l’ouest
  • Type de machine : Usage général et e2-small
  • Série : E2
  • Boot disk type : SSD Persistent Disk
  • Boot Disk size : 50 GB

Avec cette configuration, je passe maintenant à un coût mensuel de 15.5 euros.

Configuration pour maximum 100 000 pages vues mensuelles pour Matomo
Configuration pour maximum 100 000 pages vues mensuelles pour Matomo

Dans la section Pare-feu, je vous invite à activer le trafic HTTP et HTTPS.

Autorisation du trafic HTTP et HTTPS
Autorisation du trafic HTTP et HTTPS

Acceptez les conditions d’utilisation de la marketplace puis cliquez sur déployer.

Un message d’erreur s’affiche indiquant que certaines ressources utilisées par l’instance Matomo sont en version beta, vous n’avez pas besoin d’en tenir compte.

Vous pouvez maintenant retourner dans Compute Engine puis Instances de VM et vous allez voir votre VM Matomo.

Instance de VM de Matomo
Instance de VM de Matomo

Copiez l’adresse IP externe de la VM puis rentrez-là dans un nouvel onglet de votre navigateur : http://<adresse_ip_publique_vm_matomo>.

L’interface de configuration de Matomo apparaît :

Matomo est accessible via l'adresse IP externe de l'instance de VM
Matomo est accessible via l'adresse IP externe de l'instance de VM

À ce stade, concernant Google Cloud, il reste 2 choses à mettre en place :

  • lier un nom de domaine à l’adresse IP externe de l’instance de VM Matomo
  • ajouter un certificat SSL pour accéder à Matomo en HTTPS

C’est ce que nous allons voir dans les prochaines sections.

Lier un nom de domaine à votre VM

Pour lier votre nom de domaine à l’adresse IP externe de l’instance de VM de Matomo, vous devez vous rendre sur votre hébergeur de domaine et ajouter cet enregistrement :

Sur votre nom de domaine racine : @ A <ip_externe_vm_matomo>

Sur un sous-domaine (dans cet exemple matomo) : matomo A <ip_externe_vm_matomo>

J’utilise Cloudflare et je veux que matomo soit disponible à l’adresse matomo.data-marketing-school.com. Je vais donc ajouter l’entrée suivante matomo A <ip_externe_vm_matomo> dans ma configuration DNS.

Configuration DNS pour lier l'adresse IP externe de l'instance de VM à un nom de domaine
Configuration DNS pour lier l'adresse IP externe de l'instance de VM à un nom de domaine

Rendez-vous maintenant sur l’adresse que vous avez configurée (dans mon cas matomo.data-marketing-school.com). Vous devriez voir l’interface de configuration de Matomo.

Matomo est accessible en HTTP via le nom de domaine
Matomo est accessible en HTTP via le nom de domaine

Ajouter le SSL à la VM avec Certbot

Rendez-vous dans Compute Engine puis Instances de VM et cliquez sur le bouton SSH pour accéder au terminal de votre VMs.

Bouton SSH pour accéder au terminal de la VM Matomo
Bouton SSH pour accéder au terminal de la VM Matomo

Exécutez ensuite les commandes suivantes :

sudo a2enmod ssl && service reload apache2
sudo apt update
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache
sudo service apache2 restart

Pour l’enregistrement d’un certifiat SSL auprès de Let’s Encrypt, vous allez devoir rentrer votre adresse email :

Adresse email pour la génération du certificat SSL
Adresse email pour la génération du certificat SSL

Pour la verification de votre serveur auprès de l’autorité de certification, vous devez accepter les conditions suivantes :

Acceptation de la vérification du serveur ACME
Acceptation de la vérification du serveur ACME

Vous pouvez ensuite accepter ou refuser de transmettre votre adresse email à l’EFF (Organisme qui a créé Certbot) une fois que votre certificat sera enregistré :

Partage de votre email avec l'EFF
Partage de votre email avec l'EFF

Vous devez ensuite rentrer le nom de domaine que vous avez configuré précédemment. Dans mon cas, il s’agit de matomo.data-marketing-school.com :

Nom de domaine pour lequel vous souhaitez générer un certificat SSL
Nom de domaine pour lequel vous souhaitez générer un certificat SSL

Ensuite, vous devriez voir ce message s’afficher :

Félicitations vous avez généré un certificat SSL pour votre nom de domaine
Félicitations vous avez généré un certificat SSL pour votre nom de domaine

Rendez-vous ensuite sur l’adresse https://matomo.data-marketing-school.com.

Matomo est accessible en HTTPS via le nom de domaine
Matomo est accessible en HTTPS via le nom de domaine

La configuration du certificat SSL est maintenant terminé.

Configurer Matomo

Pour l’étape 3 de l’installation de Matomo, vous devez fournir les indentifiants pour accéder à la base de données.

Pour retrouvez ces informations, rendez-vous dans Deployment Manager puis Déploiements.

Cliquez sur le déploiement de Matomo pour afficher les informations de connexion à la base de données :

Identifiants de connexion Matomo dans le Deployent Manager de GCP
Identifiants de connexion Matomo dans le Deployent Manager de GCP

Le nom de la base de données est matomo.

Installation de la base de données via Matomo
Installation de la base de données via Matomo

Installer le code de suivi sur son site web

À la fin de la configuration de Matomo, vous serez amené à installer un code suivi sur toutes les pages de votre site web avant la fermeture de la balise </head>.

Code de suivi de Matomo
Code de suivi de Matomo

Bravo, vous avez installé Matomo.