Prestashop 1.6 sur un serveur récent ? C’est possible !

Petit retour d’expérience sur une migration de serveur que j’ai eu a faire il y’a quelques jours sur un vieux site prestashop qui tourne depuis une 10 aine d’années.
Je passe outre le fait qu’il serait nécessaire de le migrer vers une version supérieure de Prestashop 😉
L’ancien serveur tournait encore sur une débian 8 plus maintenue non plus depuis pas mal d’années.

Au final j’ai réussi à mettre en place le site de manière fonctionnelle sur une version ubuntu 24.04 serveur, qui devrait lui permettre de tourner encore quelques années si nécessaires.
Voyons ensemble les différentes étapes nécessaires :

Installation de php 5.6

Rien de très compliqué ici, grâce à notre ami ondrej qui permets d’installer facilement toutes les versions php de la 5.6 à la 8.4 sur ubuntu
On va installer un php-fpm de la version 5.6 avec toutes les extensions souhaitées qu’on utiliseras dans le vhost.

#Ajouter le ppa Ondrej
add-apt-repository ppa:ondrej/php
#Installer ensuite php5.6 et les différentes extensions nécessaires :
apt-get install php5.6-fpm php5.6-xml php5.6-gd php5.6-mcrypt php5.6-mysql php5.6-pdo

Pour avoir la liste complète des extensions nécessaires à installer pour Prestashop vous pouvez utiliser l’outil spécifique téléchargeable ici : https://github.com/PrestaShop/php-ps-info

Pour la base de données : Mariadb

On remplace l’ancienne version mysql5.6 par mariadb qui fonctionne exactement de la même manière, mais pose moins de problèmes de compatibilités de manière générale.

sudo apt install mariadb-server
sudo mysql_secure_installation

Ca fait un sacré gap de versions et il y’a tout de mêmes des points à corriger.
Le point le plus important et qui m’a causé des erreurs applicatives avant que je change la configuration, c’est qu’il faut changer le sql_mode pour le rendre moins rigoureux.

Pour cela il faut ajouter le contenu suivant dans le fichier /etc/my.cnf

[mysqld]
sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION<pre>

Pour l’historique la configuration initiale était la suivante :
STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
En la réduisant on permets à nos vieilles structures de tables Prestashop de fonctionner comme prévu.

Et voila en quelques heures la migration est finie et le site fonctionne comme sur des roulettes 🙂
Adieu ancien serveur après de belles années d’uptime !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *