Cambiar de servidor o de dominio es una tarea, en principio, muy normal a realizar con cualquier sitio web, por ejemplo cuando hemos montado nuestra plataforma en localhost y decidimos que ya está lista para comprar el dominio y ponerla online. Pero según de qué plataforma estemos hablando, esta tarea será más o menos sencilla de llevar a cabo. Hoy vamos a hablar de cómo hacerlo con Prestashop, la cual puede ser un poco… tricky, ya que no, no sirve con copiar y pegar los ficheros y la base de datos.
Vamos a verlo paso a paso.
Paso 1:
Este es fácil, copiar y pegar todos los ficheros. No necesita mucha más explicación, verdad?
Paso 2:
Copiar la base de datos. Cómo se copia una base de datos? Aquí te lo explico.
Paso 3:
Hasta aquí los pasos comunes a cualquier web. Vamos con acciones más especificas. Necesitamos decirle a nuestra instalación de Prestashop que el dominio ya no es (por ejemplo) localhost, si no el nuevo y flamante dominio que habremos adquirido en cualquiera de los proveedores existentes (no sabes dónde comprar dominios a buen precio? clic aquí). Esto es así con casi todas las plataformas, pero de forma sensiblemente diferente en cada una de ellas. En Prestashop debemos acceder a la base de datos, y allí dirigirnos a la tabla PS_SHOP_URL (asumimos que el prefijo es PS, aunque por motivos de seguridad deberías haberlo cambiado al instalar la tienda la primera vez) y editar los valores de las siguientes columnas domain y domain_ssl y poner ahí el dominio correcto.
Si la instalación de la tienda está en un directorio distinto de la raíz (por ejemplo dentro de /tienda) hay que cambiar también el valor de physical_uri y poner ahí (siguiendo con el ejemplo de que la tienda está ubicada en /tienda) /tienda/
Paso 4:
En la tabla PS_CONFIGURATION cambiamos los valores de ps_shop_domain y ps_shop_domain_ssl por los valores correctos.
Hasta aquí los cambios de la base de datos. Vamos a editar ficheros.
Paso 5:
Abre config/defines.inc.php con tu editor de texto plano favorito y cambia el valor de _PS_MODE_DEV_ a true,así:
define('_PS_MODE_DEV_', true)
Si no existiera esa linea, añádela.
Paso 6:
Actualiza los datos de conexión a la base de datos en config/settings.inc.php.
Si, siguiendo con el ejemplo, la tienda estuviera ubicada en /tienda (en su nueva ubicación), necesitamos otro paso extra, Editar el fichero .htaccess
Paso 6b (solo en caso de que la tienda ahora esté en una subcarpeta, por ejemplo, /tienda):
Editar .htaccess, busca la linea donde dice:
RewriteRule . - [E=REWRITEBASE:/]
y cámbiala por:
RewriteRule . - [E=REWRITEBASE:/tienda/]
Si en la ubicación antigua ya estaba en /tienda, no necesitarás cambiar esta linea, ya que ya estará de la forma correcta.
Paso 7:
Accede al backoffice de la tienda como administrador (no puedes acceder porque has perdido la clave y no puedes utilizar la opción «no recuerdo mi clave?» Lee este artículo 😉 ) y en Advanced Parameters (Parámetros avanzados si la tienes instalada en español) -> Performance (Rendimiento) selecciona Force compilation en la configuración de Smarty, desactiva la caché y limpia la caché utilizando el botón que hay arriba a la derecha.
Paso 8 (y final):
Vuelve a modificar config/defines.inc.php y devuelve el parámetro _PS_MODE_DEV_ a false
define('_PS_MODE_DEV_', false)
Listo! Ya tenemos nuestra tienda Prestashop 1.6 migrada y lista para el público!
Comentarios