Piwik Update 1.12

De EjnTricks

Cet article présente la mise à jour de Piwik en version 1.12. Sur le site officiel, deux méthodes sont présentées:

  • Mise à jour directement depuis l'application.
  • Mise à jour par déploiement de la nouvelle version.

Dans le cadre de cet article, la mise à jour est effectuée manuellement avec le même principe que pour l'installation initiale. Théoriquement, la mise à jour est simple. Cependant il est nécessaire de n'oublier aucune étape.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Dependencies.gif Pré requis

L'installation va être réalisée dans le répertoire /var/opt/piwik-1.12, sur lequel un lien est placé à l'emplacement /var/opt/piwik. Ainsi les installations de mises à jour seront facilitées.

#sudo mkdir /var/opt/piwik-1.12
#sudo chown www-data:www-data /var/opt/piwik-1.12


System-Install-icon.png Déploiement de l'application

L'application sera déployée dans le répertoire /var/opt/piwik-1.12 créé préalablement. La version est téléchargée dans le répertoire /tmp du serveur.

#sudo wget -O /tmp/piwik-1.12.zip http://builds.piwik.org/piwik-1.12.zip

Puis elle est installée en décompressant l'archive.

#sudo unzip /tmp/piwik-1.12.zip -d /var/opt/piwik-1.12/

Attention, l'archive contient un sous répertoire, nécessitant de déplacer les fichiers une fois la décompression terminée.

La décompression du fichier entraîne la création du répertoire piwik, qui n'est pas souhaité. Les droits d'accès aux fichiers sont modifiés pour ne permettre que le compte d'exécution du serveur Apache.

#sudo mv /var/opt/piwik-1.12/piwik/* /var/opt/piwik-1.12/
#sudo rmdir /var/opt/piwik-1.12/piwik
#sudo chown -R www-data:www-data /var/opt/piwik-1.12

Au niveau de la procédure d'installation, il est indiqué de placer les permissions pour tous les comptes. Cependant, cela présente un problème évident de sécurité. Les droits mis en place seront uniquement pour le compte d'exécution du serveur Web, soit www-data dans le cadre de cet article.

#sudo find /var/opt/piwik-1.12/ -type f -exec chmod 0640 {} \;
#sudo find /var/opt/piwik-1.12/ -type d -exec chmod 0750 {} \;
#sudo chmod 750 /var/opt/piwik-1.12


Icon-Configuration-Settings.png Configuration

Sur la procédure de mise à jour officielle, il est recommandée de sauvegarder le fichier de configuration. Du fait de cette procédure de mise à jour, il suffit de copier depuis le précédent emplacement, dans la nouvelle instance.

#sudo cp /var/opt/piwik-1.11.1/config/config.ini.php /var/opt/piwik-1.12/config/config.ini.php
#sudo chown www-data:www-data /var/opt/piwik-1.12/config/config.ini.php
#sudo cp /var/opt/piwik-1.11.1/config/.htaccess /var/opt/piwik-1.12/config/.htaccess
#sudo chown www-data:www-data /var/opt/piwik-1.12/config/.htaccess

Dans le cadre de cette étude, un logo personnalisé avait été mis en place. Il faut donc le recopier dans la nouvelle instance.

#sudo cp /var/opt/piwik-1.11.1/themes/.htaccess /var/opt/piwik-1.12/themes/.htaccess
#sudo cp /var/opt/piwik-1.11.1/themes/logo-header.png /var/opt/piwik-1.12/themes/logo-header.png
#sudo cp /var/opt/piwik-1.11.1/themes/logo.png /var/opt/piwik-1.12/themes/logo.png
#sudo chown www-data:www-data /var/opt/piwik-1.12/themes/.htaccess
#sudo chown www-data:www-data /var/opt/piwik-1.12/themes/logo-header.png
#sudo chown www-data:www-data /var/opt/piwik-1.12/themes/logo.png


Plugin-icon.png Plugins

Sur la précédente version, des plugins ont été mis en place. Etant référencé dans la base de données, il est impératif que ceux-ci soient de nouveau disponibles dans la nouvelle instance. Il n'est pas nécessaire de les installer de nouveau, mais tout simplement de mettre en place les différents liens. En effet, lors de leur installation, il a été choisi de les externaliser. Trois plugins avaient été mis en place:

Les liens sont donc placés dans le répertoire extensions de piwik.

#sudo ln -s /var/datas/piwik/extensions/GeoIPMap /var/opt/piwik-1.12/plugins/GeoIPMap
#sudo chown -h www-data:www-data /var/opt/piwik-1.12/plugins/GeoIPMap
#sudo ln -s /var/datas/piwik/extensions/UserSettingsExt /var/opt/piwik-1.12/plugins/UserSettingsExt
#sudo chown -h www-data:www-data /var/opt/piwik-1.12/plugins/UserSettingsExt

Le plugin GeoIp, inclus dans l'application depuis la version 1.9, nécessite un accès au fichier GeoLiteCity.dat dans le répertoire misc. Lors de la mise à jour de la version 1.9, il a été expliqué la mise en place d'un lien pour accéder à ce fichier. En effet, les données sont téléchargées et mutualisées avec d'autre application. Ce lien est donc reproduit.

#sudo ln -s /var/datas/maxmind/GeoLiteCity.dat /var/opt/piwik-1.12/misc/GeoLiteCity.dat
#sudo chown -h www-data:www-data /var/opt/piwik-1.12/misc/GeoLiteCity.dat

Une restriction d'accès était mise en place dans la précédente version. Celle-ci est reproduite.

#sudo cp /var/opt/piwik-1.11.1/plugins/.htaccess /var/opt/piwik-1.12/plugins/
#sudo chown www-data:www-data /var/opt/piwik-1.12/plugins/.htaccess


Configuration-icon.png Publication sous Apache

Lors de l'installation initiale, la publication sous Apache pointait sur le lien /var/opt/piwik. Ce principe permet d'activer la nouvelle version rapidement, sans toucher au paramétrage de Apache. Il est juste nécessaire de modifier le répertoire pointé par le lien.

#sudo rm /var/opt/piwik
#sudo ln -s /var/opt/piwik-1.12 /var/opt/piwik
#sudo chown -h www-data:www-data /var/opt/piwik

Lors du premier accès après installation de la nouvelle version, l'utilisateur est informé de la nécessité de mettre à jour la base de données.


Avant de mettre à jour, le contrôle d'intégrité des fichiers remonte les anomalies sur les fichiers supprimés. Sur les prochaines installations, ces suppressions seront réalisées après coup.

Lors de précédente mise à jour, des problèmes ont été rencontrés suite à des tentatives de modification des tables. En effet, les permissions du compte sur mysql avaient été abaissées. pour éviter toutes anomalies, elles sont temporairement augmentées:

mysql> GRANT ALL ON piwik.* TO 'piwik'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


Après la mise à jour, les privilèges sont remis comme ils étaient avant la mise à jour.

mysql> REVOKE ALL ON piwik.* FROM 'piwik'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, LOCK TABLES ON piwik.* TO 'piwik'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


Des fichiers ne sont pas nécessaires et donc supprimés.

#sudo rm /var/opt/piwik-1.12/How\ to\ install\ Piwik.html
#sudo rm /var/opt/piwik-1.12/README.md
#sudo rm /var/opt/piwik-1.12/misc/How\ to\ install\ Piwik.html

Attention, l'organisation de l'espace de travail peut être modifié après la mise à jour. Dans le cas de ce site, certains plugins avaient disparus et il a fallu les remettre.


Bug-icon.png Label sur locale Française

Lors de l'installation initiale, des erreurs ont été constatés dans les messages. Certains ont été corrigés mais pas tous. Le message Le mot clef %1$s a été a été noté %2$s dans la page de résultats de recherche %3$s pour ce visiteur est toujours erroné.

Tous les messages sont externalisés dans des dictionnaires de langue, placés dans le sous répertoire lang de l'installation. Dans le cas de la locale Française, le fichier modifié est fr.php.

Patch des traductions: fr.php

Attention, dans cette version, il y a un outil de contrôle d'intégrité des fichiers. Et celui-ci va indiquer une différence sur la taille du fichier fr.php attendue et celle suite à la modification.


Viewer icon.png Voir aussi

Procédure officielle de mise à jour: http://piwik.org/update

Changelog: http://piwik.org/changelog/piwik-1-12/