Limiter les risques au maximum, mettre à jour (un vieux) WordPress et son hébergement, sécuriser et prendre de bonnes habitudes.
Edition du 13/08/2013 : l’étape de mise à jour du blog a été complétée, en effet la traduction française de la documentation officielle omet un point important. Cet article a été écrit au moment de la sortie de la version 3.5.1 mais il demeure valable pour la 3.5.2 et maintenant la 3.6 qui vient de sortir le 1er août. Ajout d’une section sur les versions majeures de WordPress.
Avant toute chose, si vous recherchez uniquement le mode d’emploi pour une mise à jour de WordPress, toute l’information nécessaire est ici :
L’article suivant traite de la mise à jour d’un blog WordPress d’une assez ancienne version vers la dernière en date, cela en changeant par la même occasion d’hébergement Web. Dans mon cas, le précédent hébergement n’était plus compatible avec les dernières versions de WordPress nécessitant PHP 5.2.4 minimum. afin de pouvoir bénéficier d’une version de PHP plus récente par exemple – WordPress 3.5.1 nécessite PHP 5.2.4 minimum –
Si vous estimez que votre hébergement actuel fait parfaitement l’affaire et est suffisamment à jour, vous devez néanmoins être en mesure de créer plusieurs sites dans votre interface d’administration. Je n’ai pas d’intérêts chez OVH, mais leur plan d’entrée de gamme permet de faire tout cela (multi-sites).
Avant toute chose :
- Sauvegardez votre base de données,
- Sauvegardez TOUS vos fichiers WordPress, y compris le fichier .htaccess (en anglais) si vous en avez un,
- Vérifiez que les sauvegardes que vous avez créées sont disponibles et utilisables.
Travailler sur une copie du site
Le principe de cette méthode consiste à ne pas mettre à jour votre blog. Nous n’allons pas y toucher et travailler uniquement sur sa copie, qui deviendra la future version du site. Le site WWW reste en ligne tant que le site TEST n’est pas parfaitement opérationnel. Ensuite, on modifiera la zone DNS du nom de domaine pour faire pointer le WWW vers la nouvelle version.
Création d’une copie du site sur un sous-domaine de test, en pré-production
L’ancien site est laissé en ligne sans aucune modification. Dans et exemple, le nouvel hébergeur est OVH, sur un simple plan mutualisé permettant le multi-domaines.
WordPress 3.5.1 nécessite PHP 5.2.4 minimum
http://wordpress.org/about/requirements/
Dans notre cas, il s’agissait du passage d’un hébergement avec une vieille version de PHP 5.2.0.x vers un autre en PHP 5.4.6. La non-compatibilité des dernières version de WordPress avec notre version de PHP justifie le changement (pas le choix), mais un changement d’hébergement est une question à laquelle il faut réfléchir pour bien mesurer les avantages et les inconvénients.
Par exemple notre hébergement en question permet d’utiliser plusieurs de version de PHP au choix, dont la dernière en PHP 4 et pour la plus récente, PHP 5.2.4. Les serveurs de bases de données disponibles permettent eux aussi de choisir une version de MySQL. Il est même possible de commander d’autre types de BDD. En gros c’est flexible. L’espace d’hébergement est pléthorique, on a des boîtes mail à gogo, des dizaines de fonctionnalités pratiques et c’est pas cher…
A ce stade, vous avez effectué une sauvegarde complète des fichiers et de la basse de données de votre blog. Si ça n’est pas encore fait et que vous plantez votre site, ce qui arrive généralement comme une averse quand on sort sans parapluie, on vous aura prévenu.
Mise en place du 2ème site
- Un sous-domaine de test – test.nomdedomainedublog.com – est créé qui va pointer vers le répertoire sur votre hébergement, par exemple /www/nomdedomainedublog.com.
- On met en ligne la copie du site (upload via FTP) en ayant pris soin auparavant de modifier le fichier wp-config.php en y renseignant les paramètres de la nouvelle base de données.
- Parallèlement, le dump de la base de données est importé. Il y aura juste à éditer la table wp_options où l’URL de votre blog (en www) www.nomdedomainedublog.com devra être remplacée par la nouvelle URL de test test.nomdedomainedublog.com.
Si vous ne vous êtes pas planté quelque part en route, le site test.nomdedomainedublog.com, copie conforme de www.nomdedomainedublog.com, est prêt à fonctionner.
Note pour OVH : il est possible que par défaut votre hébergement soit encore en PHP 4, pour choisir votre version de PHP il suffit de créer un fichier .htaccess à la racine et d’y écrire la ligne de votre choix, comme indiqué dans le guide.
- pour PHP 5.2 :
SetEnv PHP_VER 5
- pour PHP 5.3 :
SetEnv PHP_VER 5_3
- pour PHP 5.4 :
SetEnv PHP_VER 5_4
Etape de mise à jour du blog (MAJ)
MAJ 13/08/2013 : la page de mise à jour détaillée a été mise à jour pour la version 3.6, mais il manque toujours des informations importantes :
Inutile de le réécrire en moins clair, l’essentiel est ici :
Normalement vos sauvegardes sont déjà faites. Désactivez TOUTES vos extensions. Revenez quand c’est prêt. Notre mise à jour de WordPress 1.5.2 vers 3.5.1 n’a pas rencontré de problème en mode automatique chez notre hébergeur. Il est possible en fonction du vôtre que vous aillez à accomplir cetet dernière manuellement, c’est expliqué dans la documentation.
Instructions de mise à jour détaillée pour les versions 1.5.x, 2.0 et 2.6.5 vers WordPress 3.6
Si vous prévoyez de faire une mise à jour d’une ancienne version séparée de plus de 2 versions majeures de la dernière version de WordPress, il est recommandé de réaliser cette upgrade en plusieurs étapes. C’est-à-a dire, ne pas tenter directement de passer de WordPress 1.5 à WordPress 3.6. Les changements importants de structure de la base de données au fil des versions majeures de WordPress risquent de tout faire capoter.
Il est donc conseillé, par exemple, pour passer de la 2.5 à la 3.6, de faire d’abord une mise à jour vers la 2.7, ensuite vers la 2.9 et enfin vers la 3.6
Les anciennes version de WordPress peuvente être téléchargées ici : WordPress release archive.
Petite pause avant de poursuivre : les versions majeures de WordPress
Voici la liste des versions majeure de WordPress, elles portent un nom de Jazzman. Les version intermédiaires, mineures, corrigent le plus souvent des bugs et des problèmes de sécurité.
La documentation conseille de ne jamais sauter plus d’une version majeure… C’est peut-être excessif, mais bon, cela signifie par exemple passer de la 3.4 à la 3.6 en sautant la 3.5, mais pas passer de la 3.3 à la 3.6 puisque cela revient à sauter deux versions majeures, la 3.4 et la 3.5.
Il y a donc une erreur dans la recommandation anglaise (non traduite en français). Pour passer de la 2.5 à la 3.6, il faudrait faire les mises à jour successives suivantes :
- 2.5 vers 2.7 (on saute la 2.6)
- 2.7 vers 2.9 (on saute la 2.8)
- 2.9 vers 3.1 (on saute la 3.0)
- 3.1 vers 3.3 (on saute la 3.2)
- 3.3 vers 3.5 (on saute la 3.4)
- 3.5 vers 3.6 (on ne saute rien)
Voilà pour la théorie. Je vous laisse imaginer pour passer de WordPress 1.5.2 vers 3.6 (maintenant je continue à mettre à jour régulièrement). Dans la pratique je n’ai évidemment rien suivi de tout cela et y suis allé plus franco, mais rappelons que c’était sur une copie (un clone) du site.
Votre blog est en français ?
Alors vous devriez aimer la liste des versions majeures de WordPress en français !
Que faire après la mise à jour ?
Vérifiez que vous ayez bien suivi les dernières recommandation :
- Etape 10 : Mettre à jour les Permaliens et les fichiers .htaccess
- Etape 11 : Installer les extensions et les thèmes mis à jour
- Etape 12 : Réactiver les extensions
A vous les nouvelles fonctionnalités et les dernières extensions ! A ce propose, je ne saurais vous recommander d’installer uniquement les extensions qui vous sont vraiment utiles, pour éviter la surcharge, celles qui ne sont plus suivies et mise à jour, etc. Mais après tout on s’en fout on les supprimera après, c’est le moment de faire des essais, avec notre nouvelle copie de Test ? Youpi !
Et pourquoi pas sécuriser votre WordPress ?
Ok, vous vous dites que votre tête n’est pas mise à prix chez les hackers, pourquoi vous et votre petit blog, etc. C’est encore plus simple que cela, votre blog sera piraté s’il n’est pas mis à jour et sécurisé, non pas par un tueur à gage ayant reçu un contrat sur vous mais par tout un éventail de personnes susceptibles de le faire par curiosité, désœuvrement ou intérêt (un morveux qui s’amuse, un BlackHatSEO pas sympa, ou le Service Marketing d’une organisation criminelle quelconque).
Vous n’êtes visé, mais les ressources accessibles via votre site le sont. Il y a de fortes chances que votre « pirateur » s’en tape parfaitement de vous et ne connaisse même pas le nom de votre blog qui est un parmis d’autres dans un fichier Excel de blog vulnérables. C’est le contrôle de nombreux sites grâce à l’exploitation de failles documentées et publiées qui est l’enjeu.
Quelques extensions intéressantes :
Ces plugins proposent de très nombreuses customisation de WordPress afin d’en améliorer la sécurité. Ici encore, vous pouvez tout tenter sur votre site de test.
Passage en prod : www
Voilà, votre version de test est parfaitement à jour, vous avez trouvé des plugins intéressants, fait vos essais, installé les extensions de sécurisation et paramétré leurs options, tout est OK. Il ne reste qu’à passer en production sur www.nomdedomainedublog.com.
- Changez l’adresse du blog dans les réglages de WordPress : test.nomdedomainedublog.com -> www.nomdedomainedublog.com
- Procéder à la même vérification dans les paramètres de toutes les extensions qui pourraient utiliser la valeur de l’URL en dur…
- A partir de là, votre site de test.nomdedomainedublog.com s’affichera encore mais tous les liens pointeront vers www.nomdedomainedublog.com (l’ancien blog pour l’instant).
- Modifiez la zone DNS en faisant pointer WWW vers votre nouvel hébergement
Chez OVH, vous aurez créé un multidomaine test.nomdedomainedublog.com, il vous suffira de créer le multidomaine www.nomdedomainedublog.com pointant vers le même répertoire
- Attendez le délais de mise à jour des serveurs DNS…
Pour terminer : faire des sauvegardes régulières, mettre à jour très régulièrement WordPress et ses extensions.