Le contre-exemple parfait par rapport à Dotclear qui a été impossible à remettre en service: la galerie de photos Coppermine Gallery que j’avais aussi conservée en l’état de 2010, version 1.5.16, désactivée, déconnectée et même plus sur la même machine.
Comment remettre en route ce script php laissé à l’abandon depuis si longtemps ?
Déjà, est-il encore maintenu en 2023?
Peut-être bien, mais ce n’est pas très clair car les informations sont à la fois dispatchées et quelques peu contradictoires entre le site historique sur lequel la dernière version indiquée date de décembre 2018, cpg1.6.05 la page Sourceforge de l’époque qui propose encore la version cpg1.5.48 elle aussi datée de décembre 2018.
En cherchant un peu on tombe rapidement sur la page Github du projet sur laquelle on peut télécharger la version cpg1.6.25 publiée en avril 2022.
Que faut-il pour faire la mise à jour ?
- Une sauvegarde de la BDD
- Une sauvegarde de l’arborescence de la galerie
- Un serveur LAMP (Linux Apache Mysql/Mariadb PHP) de test
Comment faire la mise à jour?
Du coup, combien de versions entre ma vielle 1.5.16 et la 1.6.25 ?
17 pour atteindre la cpg1.5.48 et environ 24 pour arriver à la dernière mouture en date. Heureusement il n’est pas nécessaire de passer par toutes les versions intermédiaires.
En suivant les indications (simples) de la documentation officielle j’ai décidé de monter de ma version 1.5.16 à la dernière version de la branche 1.5x, soit la version 1.5.48, et ensuite de passer à la 1.6.25.
Une mise à jour intermédiaire.
Préparation du serveur LAMP
Installation du serveur
Pas de contrainte de version au niveau de la base de données Mysql/MariaDB
Installation d’un vieux PHP5.6
installation de phpMyAdmin-3.5.5 compatible avec la version PHP5.6
La restauration et la remise en route
Une fois que tout est installé, que le serveur Apache répond:
- on restaure intégralement le script de l’époque,
- on vérifie que les droits d’accès à la bdd sont corrects dans le fichier config.inc.php sinon on adapte la bdd (via PhpMyAdmin ou en ligne de commande) ou le fichier.
- on se connecte à PhpMyAdmin pour restaurer la base de données qui avait été exportée et qui trainait dans un coin de disque au format csv depuis 13 ans.
J’ai eu directement accès aux galeries avec le script de l’époque. Le plus dur était fait.
La montée de versions
De là je suis passé directement à l’ultime version de la branche cpg1.5.x, à savoir cpg1.5.48, sans le moindre message d’erreur, toujours en suivant la documentation officielle.
Ensuite pour passer à la dernière version en date, la cpg1.6.25, il a suffit de procéder au changement de version de PHP (déjà installé).
Via SSH sur le serveur:
sudo a2dismod php5
sudo a2enmod php8.1
sudo /etc/init.d/apache2 restart
Puis de mettre à jour le fichier config.inc.php en y ajoutant la ligne suivante:
$CONFIG['dbtype'] = 'mysqli'; // Your database type
Et de terminer, en lançant à nouveau l’url du site avec /update.php et c’est tout.
Elle fonctionne très bien, quelques manipulations à faire, mais sans lien avec le script, bravo aux développeurs!
J’ai noté quelques trucs tout de même:
au niveau de la base de données
Les tables n’ont plus de clef unique, ni d’index, ce qui est problématique. Pas de modification possible via PhpMyAdmin et surtout, dans le cas de la table cpg1410_config (1410 pour cpg1.4.10 la version de l’époque lors de mon installation initiale)
Pour certaines, il faut créer la clef unique et ajouter le paramètre AUTO_INCREMENT
Import des photos dans un album
Je n’arrivais pas à ajouter des photos dans un album.
Le chargement des images via le menu que j’utilisais à l’époque ne fonctionne pas/plus (page blanche sans message d’erreur).
Il m’a fallu désactiver les autres plugins d’import pour n’en laisser qu’un
Il faut utiliser le menu Télécharger un fichier
Et tout fonctionne.