Cómo mover PrestaShop a un nuevo servidor sin tiempo de inactividad

389 vistas

Por qué la migración de servidor requiere planificación

Mover una tienda PrestaShop a un nuevo servidor es una de las operaciones más críticas. Con una planificación adecuada, puedes reducir el tiempo de inactividad a minutos — o incluso lograr una transición sin interrupciones.

Lista de verificación pre-migración

  • Verificar requisitos del nuevo servidor
  • Documentar la configuración actual
  • Listar todos los dominios y subdominios
  • Identificar archivos personalizados
  • Planificar el certificado SSL

Fase 1 - Preparar el nuevo servidor

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

Configurar PHP

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

Crear la base de datos

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

Fase 2 - Transferir archivos

rsync -avz --progress -e ssh \
  /var/www/html/prestashop/ \
  user@nuevo-servidor:/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 - Transferir la base de datos

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

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

Fase 4 - Actualizar configuración

Edita app/config/parameters.php con las nuevas credenciales. NO cambies las URLs de la tienda.

Fase 5 - Probar en el nuevo servidor

Modifica tu archivo hosts local para apuntar al nuevo servidor y prueba todo el sitio a fondo.

Fase 6 - El cambio

  1. Bajar el TTL DNS 48 horas antes
  2. Poner la tienda vieja en mantenimiento
  3. Sincronización final de la base de datos
  4. Sincronización final de archivos
  5. Cambiar los registros DNS
  6. Sacar la nueva tienda del mantenimiento

Fase 7 - Verificación post-migración

  • Limpiar todas las cachés
  • Regenerar el .htaccess
  • Verificar SSL
  • Probar envío de emails
  • Verificar tareas cron
  • Mantener ambos servidores 48-72 horas

Trampas comunes de migración

  • Rutas hardcodeadas en archivos de módulos
  • Configuración de email
  • URLs de imágenes
  • Contenido mixto después de SSL

¿Le resultó útil esta respuesta?

¿Aún tiene preguntas?

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

Cargando...
Volver arriba