Blog myBlog = BlogFactory.getWordPressBlog();
Article tagué Ubuntu
Dotclear et PHP 5.3
7/06/10
Un problème n’arrivant jamais seul (pour reprendre un proverbe connu), ce billet est la suite de mes mésaventures avec la montée de version de mon serveur dédié vers Ubuntu 10.04.
Après avoir reconfiguré l’ensemble des serveurs, je tente d’accéder à la page d’accueil du blog… et c’est le drame ! La page s’affiche bien, mais les billets ont disparus. Ceux qui sont passés sur le blog dans la journée du mercredi 2 juin ont pu se rendre compte de ce phénomène.
Les billets qui n’apparaissent pas, ça m’a fait penser à un problème de connexion avec la base de données. Ce qui est curieux, c’est que lorsque Dotclear ne parvient pas à se connecter à la base, on n’arrive pas jusqu’à la page d’accueil mais sur une page d’erreur spécifique. Une connexion à l’interface d’administration me confirme d’ailleurs que j’ai accès à une partie de la base : j’obtiens le titre des billets mais pas leur contenu.
Première piste : mes données seraient corrompues suite à la restauration de la base. Quelques requêtes SQL en ligne de commande me permettent d’infirmer cette hypothèse : j’accède bien au contenu des billets.
Je me rabat donc vers une piste PHP (ou une librairie comme php-mysql), suite à la lecture des logs web qui contiennent une grande quantité d’avertissements de type “Warning : Parameter n to myfunction expected to be a reference”. Ces messages me mettent la puce à l’oreille, et un “php -version” m’indique “5.3.2”, alors qu’Ubuntu 9.10 fonctionnait avec PHP 5.2.X.
Dans PHP 5.3, une liste d’évolution est incompatible avec les versions précédentes. Heureusement, je ne suis pas le premier à avoir eu ce problème et une solution non officielle est disponible sur le forum de Dotclear. Elle a été soumise par Dsls dans les réponses 11 et 14, et fonctionne sans problèmes. Il faudra ensuite vérifier vos plugins (et leur appliquer une procédure de migration s’ils ne fonctionnent plus après cette montée de version de PHP).
Sortons maintenant notre appeau à trolls (mais j’assume) : cette évolution de PHP qui oblige toutes les applications à changer une partie de leur code avec des contournements obscurs (transformation d’objets en tableaux, entre autres choses…) me paraît vraiment curieuse.
Autre déception : cette version de PHP est officielle depuis maintenant presque un an (sortie le 30 juin 2009) ! Je trouve regrettable qu’il n’y aie pas un patch officiel de Dotclear (la version corrigée est la 2.2 qui n’est encore qu’en version béta).
Malgré cette déception, j’apprécie Dotclear (en particulier parcequ’il s’agit d’un projet francophone). Cependant, je me demande si je ne vais pas dans un futur plus ou moins proche migrer vers WordPress. La communauté de ce dernier est en effet beaucoup plus nombreuse. Conséquence : le nombre de fonctionnalités (modules), de thèmes, et la vitesse des mises à jour sont beaucoup plus importants. S’il a été un concurrent pendant longtemps, j’ai de plus en plus l’impression que Dotclear est à la traine (la page des modules et des thèmes évolue très peu), et les modules Dotclear sont la plupart du temps des adaptations de fonctionnalités qui existent sur WordPress.
Je pense que j’attendrai la sortie de la version 2.2 pour me décider (si elle ne tarde pas trop).
Serveurs dediés
2/06/10
Si j’avais attendu jusqu’à maintenant, je ne sais pas si j’aurais opté pour un hébergement Gandi…
En effet, le groupe Iliad (société mère de Online) vient (comme Free à l’époque avec les offres ADSL à moins de 30€) de lancer une offre cassant les prix habituellement pratiqués, avec l’offre Dedibox V3 à moins de 15€ HT par mois.
Ce à quoi OVH a immédiatement répliqué avec une offre équivalente de la gamme Kimsufi.
L’offre de Gandi, avec une mode de pricing original “à la part” s’est également étoffée, mais n’est plus aussi intéressante que les offres ci-dessus, en particulier au niveau de la RAM et de l’espace disque (respectivement 256Mo de RAM et 8Go de disque contre 2Go de RAM et plus de 120Go de disque pour les offres d’Online et OVH).
Mais ce n’est pas la raison principale qui me fait râler contre Gandi. Si vous avez tenté de passer sur ce blog dans la journée, vous aurez remarqué qu’il ne fonctionnait plus. La cause en est une tentative de mise à jour de ma version d’Ubuntu en version 10.04 (Lucid Lynx de son petit nom). Les serveurs de Gandi utilisent une version “customisée” des distributions Linux. Ainsi, pour Ubuntu, les dépôts d’aptitude ne sont pas les dépôts officiels mais ceux de Gandi. En conséquence, la procédure de montée de version nécessite, après avoir procédé à la mise à jour, de bien veiller à modifier le fichier /etc/fstab avant de rebooter la machine… étape que j’ai oubliée !
J’ai donc contacté le support, pensant qu’ils pourraient facilement ajouter l’entrée manquante. La réponse fut éloquente : je devais soit commander un deuxième serveur (et monter le disque en tant que disque de données sur ce nouveau serveur), soit détruire le serveur pour en créer un nouveau !
Par chance, j’avais pensé à appliquer la règle numéro un de l’informatique : sauvegarder mes données (en les mettant sur une partition de données du serveur). J’ai donc pu opter pour la deuxième solution et recréer un serveur “from scratch” (cette fois en version 10.04), puis réinstaller Apache, PHP, MySQL, etc., reconfigurer tout ça, et enfin réimporter mes données.
Ce qui devait être une banale montée de version s’est donc transformé en réinstallation complète, ce qui m’a pris une bonne demi-journée (ou plus exactement une demi-nuit d’ailleurs).
En espérant que ce récit évitera à d’autres personnes de faire la même erreur en lisant très attentivement le manuel de montée de version de Gandi avant de se lancer dans la procédure !