Avec la migration du blog sur mon nouveau VPS, j’ai fait pas mal de ménage et j’ai eu envie d’installer Piwik, un logiciel de mesure de statistiques web libre et open source, pour suivre les statistiques de visites du blog.
Cela faisait un petit moment que j’en avais entendu parlé mais je n’avais jamais franchi le pas.
C’est chose faite et nous allons voir ensemble comment le déployer avec NGinx et un WordPress.
Pré requis
– Un serveur web LEMP (tutoriel)
– Une installation de WordPress (tutoriel)
– Un accès SSH bien entendu
Préparation du serveur
Nous allons commencer par récupérer les sources de Piwik et les placer dans le répertoire /var/www
1 2 3 4 5 6 |
cd /tmp wget https://github.com/piwik/piwik/archive/master.zip unzip master.zip mv piwik-master piwik mv piwik /var/www chown -R www-data:www-data piwik |
Il faut maintenant installer les dépendances PHP nécessaires.
1 2 |
cd /var/www/piwik curl -sS https://getcomposer.org/installer | php |
Désormais nous allons créer la base de données destinée à recueillir les statistiques de notre site.
On se connecte en root à MariaDB :
1 |
mysql -u root -p |
Puis on crée notre base et son utilisateur avec les commandes suivantes :
1 2 3 4 5 |
CREATE DATABASE piwikdb; CREATE USER piwikuser@localhost IDENTIFIED BY 'passwd'; GRANT ALL PRIVILEGES ON piwikdb.* TO piwikuser@localhost; FLUSH PRIVILEGES; exit |
Il ne nous reste plus qu’à configurer notre vHost NGinx:
1 |
nano /etc/nginx/conf.d/piwik.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
server { listen 80; server_name piwik.domain.tld; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name piwik.domain.tld; root /var/www/piwik; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?q=$uri&$args; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /data/configuration/* { return 404; } #### HTTPS #### ssl_certificate /path_to_cert/fullchain.pem; ssl_certificate_key /path_to_cert/privkey.pem; ssl_trusted_certificate /path_to_cert/chain.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_dhparam /etc/nginx/ssl/dh4096.pem; ssl_ecdh_curve secp384r1; ssl_prefer_server_ciphers on; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:"; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 5s; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_session_tickets off; add_header Stict-Transport-Security "max-age=31536000"; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; } |
On redémarre NGinx et on va pouvoir passer à l’installation.
1 |
systemctl restart nginx |
Installation de Piwik
Tout est désormais prêt pour installer l’application.
En accédant à l’url de notre serveur web on arrive sur l’assistant d’installation.
Dans un premier temps nous allons vérifier que notre serveur web est correctement configuré. Si un message rouge apparait, il faudra le corriger.
A l’étape suivante, nous allons renseigner les paramètres de connexion à la base de donnée. La création des tables se fera alors automatiquement.
Il ne reste plus qu’à créer un utilisateur et à ajouter l’URL du premier site web à monitorer.
Configuration de WordPress
Pour ajouter le code de suivi au site, il est possible de procéder de deux façons. Soit on intègre le code JavaScript dans le footer du thème, soit on utilise le plugin WP-Piwik.
La première solution n’est pas viable selon moi. En effet, lors de la mise à jour de notre thème, il faudra à chaque fois réintégrer ce code dans le fichier footer.
J’ai donc décidé d’utiliser le plugin. Il est téléchargeable à cette adresse.
Une fois installé, nous allons pouvoir le configurer pour le lier à notre serveur.
Sur la panneau d’administration du plugin, il faut entrer le token utilisateur que l’on peut récupérer sur l’application Piwik, l’URL de l’application et SURTOUT DECOCHER la case Auto config car on a déjà ajouté notre site lors de l’installation.
Puis dans l’onglet Activer le suivi du plugin, il faut passer la première option en Suivi par défaut.
La mise à jour des statistiques va désormais se faire directement depuis le tableau de bord de Piwik.
Nous voilà donc avec un véritable service d’analyse des visites des nos sites Web auto-hébergée. Je suis seul possesseur de ces données, et loin de moi Google Analytics !