Migrar Prestashop 1.7 con éxito
Migrar un prestashop 1.7 es siempre una tarea muy delicada que debe hacerse con mucho cuidado y planificando muy bien los pasos que debemos dar. Es probable que te hayas encontrado en la situación de cambiar tu tienda prestashop de servidor y no sabes muy bien cuales son los aspectos fundamentales que debes tener en cuenta. No te preocupes, hoy vamos a desgranar “cómo realizar con éxito una migración de prestashop 1.7” en nuestra serie de artículos de migraciones. Te recordamos que esta serie de artículos se completa con la migración de wordpress, y la migración de magento de servidor.
Migrar tu prestashop 1.7
Nuestro autor de hoy, Luis, nos va a contar qué pasos dio para hacer una copia de la tienda real en local. Como queremos que esta guía resulte útil para todos, tanto para usuarios más avanzados como para novatos, debemos dejar claro que antes de empezar necesitamos tener lo siguiente:
- Accesos al FTP del cliente. Es cierto que para bajar los ficheros también puedes utilizar el hosting que tenga contratado. Yo en este caso he utilizado el FPT para usar unos comando muy útiles.
- Accesos al backoffice de la tienda real y a la que quieras hacer en local. Es una obviedad este requisito pero en ocasiones requiere mucho tiempo que el cliente te deje los accesos.
Una vez que sabemos lo que se necesita para realizar la migración de servidor os vamos a contar paso a paso todo lo que hizo para que podáis replicarlo sin problemas.
1 – Hacer copia de base de datos y la tienda
Tenemos que acceder a los archivos de nuestra tienda, mediante un cliente FTP como Filezilla, por ejemplo. Una vez los hayamos localizado, podemos proceder de dos formas.
La primera, que es la más rudimentaria y lenta, es descargar todos los archivos de nuestro servidor a nuestro ordenador y después subirlos al nuevo servidor.
La segunda es acceder a nuestro servidor a través de consola, una vez hayamos localizado los archivos mediante comandos podemos crear un zip con los archivos que necesitamos y descargarlo. De esta forma es mucho más rápido tanto la descarga como la posterior subida al nuevo servidor.
Para acceder al servidor por consola, tenemos que usar el siguiente comando:
ssh usuarioFTP@hostFTP
Donde “usuarioFTP” será el usuario que uséis para conectaros a vuestro servidor y “hostFTP” la dirección de este. Una vez introduzcáis el comando, si los datos son correctos, os pedirá la contraseña con la que accedéis a él. Si la clave introducida es correcta, ¡enhorabuena!, ya estáis dentro, ahora solo falta buscar el directorio que queréis descargar.
Para ver el listado de archivos y directorios que tenéis podéis usar el siguiente comando muy útil.
dmd@d677:~$ Ls-L
Esto os mostrará un listado de todos los archivos y directorios que tengáis. Normalmente el directorio que contiene vuestra tienda se llamará “www”, “html” o similar.
Comprimir y descargar
Una vez localizado el directorio deseado tenemos que usar el siguiente comando para comprimirlo y poder descargarlo fácilmente desde el cliente FTP que uséis, en mi caso Filezilla.
dmd@d677:~$ zip -r nombreDelZip.zip directorio-A-Comprimir
¡Ojo!, recomiendo que el nombre que le vayáis a poner al zip no sea exactamente el mismo que el del directorio o archivo a comprimir, por si hubiese problemas y se sobrescribiese el directorio. Una vez hecho esto, lo descargamos y lo subimos al nuevo servidor.
Una vez subido el zip, debemos acceder al nuevo servidor por consola, como hemos hecho antes, localizar el zip y usar este comando.
dmd@d677:~$ unzip -r nombreDelZip.zip
Una vez hecho esto hay que hacer también una copia de la base de datos de la tienda, descargarla, crear una nueva base de datos en el nuevo servidor e importar la copia en la base de datos recién creada.
2 – Modificaciones en base de datos
Ya tenemos casi todo hecho, ahora solo falta hacer unos pequeños cambios en base de datos y en algún fichero de configuración.
Primero vamos a modificar la base de datos, para ello debemos y buscar la siguiente tabla “algo_shop_url”. En mi caso es “ps_shop_url”. En esta tabla tenéis que buscar los siguientes campos “domain”, “domain_ssl” y “physical_uri”, y hay que poner el nuevo dominio.
Quedaría de la siguiente manera. Normalmente el campo “physical_uri” no se suele tocar. A continuación debéis buscar la tabla “algo_configuration”, en mi caso “ps_configuration” y modificar los siguientes campos “PS_SHOP_DOMAIN” y “PS_SHOP_DOMAIN_SSL”.
3 – Cambios en el fichero de configuración
Por último pero no menos importante, tenemos que modificar el archivo de configuración para poner los nuevos datos de conexión a la base de datos que hemos creado.
Recordad que estamos migrando prestashop 1.7, por lo que el archivo de configuración se encuentra en otro sitio, concretamente en “/app/config/parameters.php”. Una vez localizado tenemos que modificar las siguientes líneas.
Con esto, la migración de prestashop 1.7 de un dominio a otro dominio o de un servidor a otro estaría lista y funcional. Espero que os haya servido estos pasos para hacer cualquier migración de vuestra tienda online.
Pero sobre todo, si quieres un trabajo profesional para crear vuestra tienda online en prestashop, deja que lo hagan profesionales. ¡No te arrepentirás!
9 Comentarios
Luis Daniel Autor
Buenas Javier, me alegro mucho que te haya ayudado el artículo. Muchas gracias por el comentario.
Javier Caniparoli
Excelente instructivo, muy practico y sencillo. Muchas gracias
Juan
Hola, he seguido todos los pasos, pero al entrar al nuevo dominio me redirige al antiguo. La base de datos está modificada al nuevo dominio, no entiendo nada.
Álvaro Muñoz
Hola Oscar, Muchas gracias por compartir tu "lucha" al migrar el prestashop con todos. Seguro que le vendrá muy bien a más de uno que esté en tu misma situación al migrar de Prestashop. Buena suerte con tu investigación y estaremos encantados de escucharte sobre cómo lo has logrado. Un saludo
oscar
Buenas noches, He tratado de seguir los pasos al pie de la letra y cuando intento abrir el Backoffice lo mejor que conseguia era : Compile Error: Declaration of AdminDashboardControllerCore::setMedia() must be compatible with AdminControllerCore::setMedia($isNewTheme = false) Después de muchas vueltas para solucionar el problema tuve que poner la versión de PHP 7.0.32 y el BO empezó a funcionar, sin embargo el frontoffice no cargaba no hacia nada, creo que era por el tema de SSL pero trate de deshabilitarlo en el BO pero seguia igual, me falto tiempo para seguir investigando, pero el tema de la versión si me ayudo en el BO por si a alguien le sirve de ayuda
Álvaro Muñoz
Buenos días Daniel, gracias por escribirnos. El consejo que podemos darte es que revises el log de errores de servidor ya que desde ahí podrás encontrar mucha información útil. Revisa de todos modos qué versión estás utilizando ya que este artículo está creado para el prestashop 1.7. Esperamos que tengas suerte, un saludo
Daniel
He realizado paso a paso la guia pero al finalizar e intentar ingresar a mi tienda, me arroja un error "500 server error" Algún consejo para resolverlo?
Luis Daniel Autor
Buenas Fran, es cierto que hay algunos aspectos que no he comentado porque he pensado que eran un poco de sentido común. Quizá por eso pienses que algo falta, por eso te pido por favor y amablemente si podrías comentar que cosas has echado en falta y así intentar agregarlo al articulo.
Fran
Tenéis un fallo en la guía o más bien una parte donde os falta comentar información sobre un aspecto, pero como os denomináis "Agencia certificada" os lo dejo pensar. xD