Come spostare PrestaShop su un nuovo server senza downtime
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 expiresConfigurare PHP
memory_limit = 512M
max_execution_time = 300
post_max_size = 64M
upload_max_filesize = 64MCreare 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/prestashopFase 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.sqlFase 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
- Abbassare il TTL DNS 48 ore prima
- Mettere il vecchio negozio in manutenzione
- Sincronizzazione finale del database
- Sincronizzazione finale dei file
- Cambiare i record DNS
- 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.