Comment déplacer PrestaShop vers un nouveau serveur sans temps d'arrêt

390 vues

Pourquoi la migration de serveur nécessite une planification

Déplacer une boutique PrestaShop vers un nouveau serveur est l'une des opérations les plus critiques que vous puissiez effectuer. Avec une bonne planification, vous pouvez réduire le temps d'arrêt à quelques minutes — voire atteindre une transition transparente sans temps d'arrêt visible.

Checklist pré-migration

  • Vérifier les exigences du nouveau serveur
  • Documenter la configuration actuelle
  • Lister tous les domaines et sous-domaines
  • Identifier les fichiers personnalisés
  • Prévoir le certificat SSL

Phase 1 - Préparer le nouveau serveur

sudo apt update
sudo apt install apache2 mysql-server php8.1 php8.1-mysql \
  php8.1-gd php8.1-curl php8.1-intl php8.1-mbstring \
  php8.1-zip php8.1-xml php8.1-bcmath
sudo a2enmod rewrite ssl headers expires

Configurer PHP

memory_limit = 512M
max_execution_time = 300
post_max_size = 64M
upload_max_filesize = 64M

Créer la base de données

CREATE DATABASE prestashop CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'ps_user'@'localhost' IDENTIFIED BY 'mot_de_passe_fort';
GRANT ALL PRIVILEGES ON prestashop.* TO 'ps_user'@'localhost';

Phase 2 - Transférer les fichiers

rsync -avz --progress -e ssh \
  /var/www/html/prestashop/ \
  user@nouveau-serveur:/var/www/html/prestashop/

find /var/www/html/prestashop -type d -exec chmod 755 {} \;
find /var/www/html/prestashop -type f -exec chmod 644 {} \;
chown -R www-data:www-data /var/www/html/prestashop

Phase 3 - Transférer la base de données

mysqldump -u root -p --single-transaction --routines --triggers \
  prestashop > /tmp/prestashop_db.sql

scp /tmp/prestashop_db.sql user@nouveau-serveur:/tmp/
mysql -u ps_user -p prestashop < /tmp/prestashop_db.sql

Phase 4 - Mettre à jour la configuration

Éditez app/config/parameters.php avec les nouvelles informations de base de données. Ne changez PAS les URLs de la boutique.

Phase 5 - Tester sur le nouveau serveur

Modifiez votre fichier hosts local pour pointer vers le nouveau serveur et testez tout le site en profondeur.

Phase 6 - Le basculement

  1. Baisser le TTL DNS 48h à l'avance
  2. Mettre l'ancienne boutique en mode maintenance
  3. Synchronisation finale de la base de données
  4. Synchronisation finale des fichiers
  5. Changer les enregistrements DNS
  6. Sortir la nouvelle boutique du mode maintenance

Phase 7 - Vérification post-migration

  • Vider tous les caches
  • Régénérer le .htaccess
  • Vérifier le SSL
  • Tester l'envoi d'emails
  • Vérifier les tâches cron
  • Garder les deux serveurs actifs pendant 48-72 heures

Pièges courants de migration

  • Chemins codés en dur dans les fichiers de modules
  • Configuration email
  • URLs des images
  • Contenu mixte après SSL

Cette réponse vous a-t-elle été utile ?

Vous avez encore des questions ?

Can't find what you're looking for? Send us your question and we'll get back to you quickly.

Loading...
Back to top