Piwik Update 1.9

De EjnTricks

Cet article présente la mise à jour de Piwik en version 1.9. 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.9, 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.9
#sudo chown www-data:www-data /var/opt/piwik-1.9


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

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

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

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

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

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é. Des fichiers ne sont pas nécessaires et donc supprimés. Les droits d'accès aux fichiers sont modifiés pour ne permettre que le compte d'exécution du serveur Apache.

#sudo rm /var/opt/piwik-1.9/How\ to\ install\ Piwik.html
#sudo rm /var/opt/piwik-1.9/piwik/README
#sudo rm /var/opt/piwik-1.9/piwik/misc/How\ to\ install\ Piwik.html
#sudo mv /var/opt/piwik-1.9/piwik/* /var/opt/piwik-1.9/
#sudo rmdir /var/opt/piwik-1.9/piwik
#sudo chown -R www-data:www-data /var/opt/piwik-1.9

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.9/ -type f -exec chmod 0640 {} \;
#sudo find /var/opt/piwik-1.9/ -type d -exec chmod 0750 {} \;
#sudo chmod 750 /var/opt/piwik-1.9


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.8.4/config/config.ini.php /var/opt/piwik-1.9/config/config.ini.php
#sudo chown www-data:www-data /var/opt/piwik-1.9/config/config.ini.php
#sudo cp /var/opt/piwik-1.8.4/config/.htaccess /var/opt/piwik-1.9/config/.htaccess
#sudo chown www-data:www-data /var/opt/piwik-1.9/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.8.4/themes/.htaccess /var/opt/piwik-1.9/themes/.htaccess
#sudo cp /var/opt/piwik-1.8.4/themes/logo-header.png /var/opt/piwik-1.9/themes/logo-header.png
#sudo cp /var/opt/piwik-1.8.4/themes/logo.png /var/opt/piwik-1.9/themes/logo.png
#sudo chown www-data:www-data /var/opt/piwik-1.9/themes/.htaccess
#sudo chown www-data:www-data /var/opt/piwik-1.9/themes/logo-header.png
#sudo chown www-data:www-data /var/opt/piwik-1.9/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. Deux 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.9/plugins/GeoIPMap
#sudo chown -h www-data:www-data /var/opt/piwik-1.9/plugins/GeoIPMap
#sudo ln -s /var/datas/piwik/extensions/UserSettingsExt /var/opt/piwik-1.9/plugins/UserSettingsExt
#sudo chown -h www-data:www-data /var/opt/piwik-1.9/plugins/UserSettingsExt


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.8.4/plugins/.htaccess /var/opt/piwik-1.9/plugins/
#sudo chown www-data:www-data /var/opt/piwik-1.9/plugins/.htaccess

Contrairement aux précédentes mises à jour, les plugins de localisations ne sont pas référencés:

En effet, ceux-ci sont à présent intégrés dans l'application. Il est donc nécessaire de les désactiver dans le fichier de configuration config.ini.php. Pour ce faire, il est indiqué de commenté les lignes du type Plugins[] = GeoIP. Cependant, nous allons commenter également les lignes PluginsInstalled et Plugins_Tracker.

; <?php exit; ?> DO NOT REMOVE THIS LINE
; file automatically generated or modified by Piwik; you can manually override the default values in global.ini.php by redefining them in this file.
[database]
host = "..."
username = "..."
password = "..."
dbname = "..."
tables_prefix = "..."
charset = "utf8"

[superuser]
login = "..."
password = "..."
email = "..."
salt = "..."

[branding]
use_custom_logo = 1

[Plugins]
Plugins[] = "CorePluginsAdmin"
Plugins[] = "CoreAdminHome"
Plugins[] = "CoreHome"
Plugins[] = "Proxy"
Plugins[] = "API"
Plugins[] = "Widgetize"
Plugins[] = "LanguagesManager"
Plugins[] = "Actions"
Plugins[] = "Dashboard"
Plugins[] = "MultiSites"
Plugins[] = "Referers"
Plugins[] = "UserSettings"
Plugins[] = "Goals"
Plugins[] = "SEO"
Plugins[] = "UserCountry"
Plugins[] = "VisitsSummary"
Plugins[] = "VisitFrequency"
Plugins[] = "VisitTime"
Plugins[] = "VisitorInterest"
Plugins[] = "ExampleAPI"
Plugins[] = "ExamplePlugin"
Plugins[] = "ExampleRssWidget"
Plugins[] = "ExampleFeedburner"
Plugins[] = "Provider"
Plugins[] = "Feedback"
Plugins[] = "Login"
Plugins[] = "UsersManager"
Plugins[] = "SitesManager"
Plugins[] = "Installation"
Plugins[] = "CoreUpdater"
Plugins[] = "PDFReports"
Plugins[] = "UserCountryMap"
Plugins[] = "Live"
Plugins[] = "CustomVariables"
Plugins[] = "PrivacyManager"
Plugins[] = "ImageGraph"
// Plugins[] = "GeoIP"
Plugins[] = "GeoIPMap"
Plugins[] = "UserSettingsExt"

[PluginsInstalled]
PluginsInstalled[] = "Login"
PluginsInstalled[] = "CoreAdminHome"
PluginsInstalled[] = "UsersManager"
PluginsInstalled[] = "SitesManager"
PluginsInstalled[] = "Installation"
PluginsInstalled[] = "CorePluginsAdmin"
PluginsInstalled[] = "CoreHome"
PluginsInstalled[] = "Proxy"
PluginsInstalled[] = "API"
PluginsInstalled[] = "Widgetize"
PluginsInstalled[] = "LanguagesManager"
PluginsInstalled[] = "Actions"
PluginsInstalled[] = "Dashboard"
PluginsInstalled[] = "MultiSites"
PluginsInstalled[] = "Referers"
PluginsInstalled[] = "UserSettings"
PluginsInstalled[] = "Goals"
PluginsInstalled[] = "SEO"
PluginsInstalled[] = "UserCountry"
PluginsInstalled[] = "VisitsSummary"
PluginsInstalled[] = "VisitFrequency"
PluginsInstalled[] = "VisitTime"
PluginsInstalled[] = "VisitorInterest"
PluginsInstalled[] = "ExampleAPI"
PluginsInstalled[] = "ExamplePlugin"
PluginsInstalled[] = "ExampleRssWidget"
PluginsInstalled[] = "ExampleFeedburner"
PluginsInstalled[] = "Provider"
PluginsInstalled[] = "Feedback"
PluginsInstalled[] = "CoreUpdater"
PluginsInstalled[] = "PDFReports"
PluginsInstalled[] = "UserCountryMap"
PluginsInstalled[] = "Live"
PluginsInstalled[] = "CustomVariables"
PluginsInstalled[] = "PrivacyManager"
PluginsInstalled[] = "ImageGraph"
//PluginsInstalled[] = "GeoIP"
PluginsInstalled[] = "GeoIPMap"
PluginsInstalled[] = "UserSettingsExt"

[Plugins_Tracker]
Plugins_Tracker[] = "Provider"
Plugins_Tracker[] = "Goals"
//Plugins_Tracker[] = "GeoIP"


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.9 /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.


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)


Icon-Configuration-Settings.png Configuration GeoIP

Le plugin GeoIP a été désactivé car disponible par défaut. Il suffit de configurer le mode de détection de la localisation des visiteurs. Tout ceci est explicité dans sur la page http://piwik.org/docs/geo-locate. Ce paragraphe permet de lister les actions réalisées;

Il faut aller dans les paramètres de l'application, en cliquant sur le lien Paramètres dans l'en tête de l'application. Sur cette page, les paramètres de localisation se trouve dans l'onglet GeoLocation.


Le message d'avertissement indique que les données ne sont pas à jour et qu'il faut:

  • Télécharger les données depuis MaxMind.
  • Extraire le fichier GeoLiteCity.dat dans le sous répertoire misc.
  • Recharger la page.

Or, l'utilisation de ces données sont déjà réalisée pour l'outil [[Plugin_GeoIP_Awstats#Mutualisation|Awstats]. Pour rappel, les données sont placées dans /var/datas/maxmind/. Le fichier n'est donc pas placé dans le répertoire misc, mais un lien va être mis en place.

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

Après rafraîchissement, la page indique que le plugin est installé:


Il suffit de cliquer de le bouton radio afin de l'activer:


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


Viewer icon.png Voir aussi

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

Procédure pour l'installation de geolocalisation: http://piwik.org/docs/geo-locate/

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