Mise à jour de spip et de docker
— Mise à jour 2 —
Reprise de l’article de 2018 (et oui !!)
Mon SPIP en PHP 7, a été passé depuis en PHP 8.
Pour la version 4.2.10, je suis monté en version 8.2 de php.
Même méthode que ci dessous à quelques variante près :
Mon fichier Docker.php a été modifié pour virer quelques dépendances manquante dans php82 type php8 ?.pecl.xmlrpc (d’ailleurs, à l’utilisation, cela n’a pas l’air de manquer, était-ce vraiment utile ?), j’ai ajouté php82.sodium : à ce sujet, ne pas oublier de l’activer !! cela a été la cause d’une interruption de service, mais paradoxalement, sans message d’erreur de php, alors que redis me dis bien qu’il n’était pas activé. Étrange...
L’utilisation de spip_loader.php en dernière version a bien fonctionné (version 6.1.6) et avant de lancer la mise à jour, j’ai modifié les fichiers de configurations spip_loader_config.php et spip_loader_config.php .
Encore un petit truc qui m’a surpris : je me suis retrouvé en version 4.2.9 et non en 4.2.10 alors que j’avais sélectionné la 4.2.10 comme mise à jour. J’ai sélectionné à nouveau la bonne version et c’est passé.
Voila mes déboire de mise à jour de spip.
Pour le container j’ai fini par scripter :
un script me détruit les centenaires et les refaits, ou me détruit tout et repart à zéro. Cela permet de faire les mise à jour et téléchargeant les paquets.
Fichier ci-joint.
— Mise à jour 1 —
J’ai remarqué récemment (oui je sais, j’aurais pu faire gaffe avant) que mon php pour Spip était en version 5. Je me suis donc dit, comment le passer en version 7 ?
C’est une image docker, comme le reste, je me suis donc amusé à en créer une nouvelle, avec php7.0, puis à l’intégrer dans mon docker-compose. Voila comment je mis suis pris :
J’ai d’abord fait, bien sur, un Dockerfile pour php7.0, quasi à l’identique de php5. Après, il faut donner ça à manger à docker :
On stop le site :
cd <le répertoire de création du container pour Spip>
docker-compose down
Je me place dans le nouveau répertoire de php7.0 et commence par le créer :
cd <le répertoire de création du container php>
docker build -t mon-container-de-la-mort-php7-fpm .
Attention, si vous ne connaissez pas trop : le "." est important !!!
Je retourne dans mon répertoire pour composer tout ça.
Je modifie juste le fichier Docker.php pour indiquer que j’utilise le nouveau container "mon-container-de-la-mort-php7-fpm", puis je lance la commande de création de l’image "php" (pas les autres, elles existent déjà) (cest la commande "build") et dans la foulé, je lance le tout ("up -d").
cd <le répertoire de création du container pour Spip>
docker build -f ./Docker.php -t php .
docker-compose up -d
Si je ne me suis pas trompé dans la création de mon image, tout a démarré, et un petit tour dans les logs ne fait pas de mal :
docker-compose logs
Reste à lancer une suppression des images qui ne sont plus utiles :
docker image prune -f
Cool ! Si vous voyez cette page, c’est que ça fonctionne !!
Bon, j’avoue avoir recommencé plusieurs fois la création de l’image "php" car j’ai merdouillé dans la création du container "mon-container-de-la-mort-php7-fpm". Mais les logs mon justement bien aidé à trouver la solution.
A vous de jouer.