Come spostare PrestaShop su un nuovo server senza downtime

386 visualizzazioni

Perché la migrazione del server richiede pianificazione

Spostare un negozio PrestaShop su un nuovo server è una delle operazioni più critiche. Con una corretta pianificazione, puoi ridurre il downtime a pochi minuti — o anche ottenere una transizione senza interruzioni.

Checklist pre-migrazione

  • Verificare i requisiti del nuovo server
  • Documentare la configurazione attuale
  • Elencare tutti i domini e sottodomini
  • Identificare i file personalizzati
  • Pianificare il certificato SSL

Fase 1 - Preparare il nuovo server

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

Configurare PHP

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

Creare il database

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

Fase 2 - Trasferire i file

rsync -avz --progress -e ssh \
  /var/www/html/prestashop/ \
  user@nuovo-server:/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

Fase 3 - Trasferire il database

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

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

Fase 4 - Aggiornare la configurazione

Modifica app/config/parameters.php con le nuove credenziali del database. NON cambiare gli URL del negozio.

Fase 5 - Testare sul nuovo server

Modifica il file hosts locale per puntare al nuovo server e testa approfonditamente tutto il sito.

Fase 6 - Il passaggio

  1. Abbassare il TTL DNS 48 ore prima
  2. Mettere il vecchio negozio in manutenzione
  3. Sincronizzazione finale del database
  4. Sincronizzazione finale dei file
  5. Cambiare i record DNS
  6. Togliere il nuovo negozio dalla manutenzione

Fase 7 - Verifica post-migrazione

  • Svuotare tutte le cache
  • Rigenerare il .htaccess
  • Verificare SSL
  • Testare l'invio email
  • Controllare i cron job
  • Mantenere entrambi i server per 48-72 ore

Trappole comuni della migrazione

  • Percorsi hardcoded nei file dei moduli
  • Configurazione email
  • URL delle immagini
  • Contenuto misto dopo SSL

Questa risposta ti è stata utile?

Hai ancora domande?

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

Loading...
Back to top