Matomo (Analyse de visites web)

Logo Matomo

Environnement

  • Conteneur LXC Proxmox
  • Ubuntu 18.04

Installation

Installer Apache, PHP et MariaDB :

apt install php7.2 php7.2-curl php7.2-gd php7.2-cli php7.2-mysql php-xml php7.2-mbstring mariadb-server

Activer le module Apache Rewrite :

a2enmod rewrite

Redémarrer Apache :

systemctl restart apache2

Configuration

Sécuriser l'installation de MariaDB :

mysql_secure_installation

Se connecter à MariaDB et modifier le mode de connexion pour passer du compte root système au compte root MariaDB :

mysql -u root
USE mysql;
UPDATE user SET plugin='' WHERE User='root';
FLUSH PRIVILEGES;
exit;

Se connecter à MariaDB et créer la base de données pour Matomo :

mysql -u root -p
CREATE DATABASE matomo;
CREATE USER 'matomo-admin'@'localhost' IDENTIFIED BY 'mot_de_passe';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON piwik.* TO 'matomo-admin'@'localhost';
GRANT FILE ON *.* TO 'matomo-admin'@'localhost';
FLUSH PRIVILEGES;
exit;

Redémarrer MariaDB :

systemctl restart mariadb

Autoriser le téléversement d'un fichier de 128 Mio avec PHP :

cp -p /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.bak
cp -p /etc/php/7.2/cli/php.ini /etc/php/7.2/cli/php.ini.bak
sed -i s'/upload_max_filesize = 2M/upload_max_filesize = 128M/' /etc/php/7.2/apache2/php.ini
sed -i s'/post_max_size = 8M/post_max_size = 128M/' /etc/php/7.2/apache2/php.ini
sed -i s'/upload_max_filesize = 2M/upload_max_filesize = 128M/' /etc/php/7.2/cli/
php.ini
sed -i s'/post_max_size = 8M/post_max_size = 128M/' /etc/php/7.2/cli/php.ini

Activer le Optimizer Plus Cache dans PHP :

sed -i s'/;opcache.enable=1/opcache.enable=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.enable_cli=0/opcache.enable_cli=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.memory_consumption=128/opcache.memory_consumption=128/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.interned_strings_buffer=8/opcache.interned_strings_buffer=8/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.max_accelerated_files=10000/opcache.max_accelerated_files=10000/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.revalidate_freq=2/opcache.revalidate_freq=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.save_comments=1/opcache.save_comments=1/' /etc/php/7.2/apache2/php.ini

Sauvegarder le virtualhost par défaut:

mv /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bak

Éditer le virtualhost par défaut et le modifier de la manière suivante (/!\ à adapter à son besoin) :

nano /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>  
    ServerName matomo.domaine.lan
    ServerAdmin admin@domaine.lan
    DocumentRoot /var/www/matomo/
    AllowEncodedSlashes NoDecode

    <Directory /var/www/matomo/>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog  /var/log/apache2/error.log
    CustomLog /var/log/apache2/access.log combined
</VirtualHost>

Redémarrer Apache :

systemctl restart apache2

Se placer dans "/var/www/" et télécharger Matomo :

cd /var/www/
wget https://builds.matomo.org/matomo-latest.zip

Décompresser l'archive, la supprimer et attribuer la propriété du dossier à l'utilisateur Apache (www-data) :

unzip matomo-latest.zip
rm /var/www/matomo-latest.zip
rm 'How to install Matomo.html'
chown -R www-data:www-data /var/www/html/matomo

Redémarrer Apache :

systemctl restart apache2

Dans un navigateur Web, se connecter à l'adresse du serveur et finir l'installation.

Sources

https://matomo.org/docs/installation/

https://matomo.org/docs/requirements/

https://matomo.org/faq/how-to-install/faq_23484/