Migrar nuestra tienda PRESTASHOP de local a nuestro servidor en internet
por [hans] • 29 de Agosto de 2008 • Categoría: Noticias, TutorialesSon muchas las dudas y los problemas que surgen con este tema en nuestro foro de prestashop, por ello, voy a intentar realizar un manual lo más completo y amplio posible para que no os encontreís problemas. Comentar que voy a tomar como base la versión actual en el momento de escribir este post (versión estable 1.0.8), y que este post son apreciaciones mías, y podríais encontrar formas distintas de hacer lo mismo.
PASO 1: INSTALACIÓN EN LOCAL (recomendado)
| Versión |
| Prestashop v1.0.8 |
| Autor |
| [hans] |
| Fecha |
| 29 de Agosto de 2008 |
La mayoría de nosotros, antes de instalar la tienda en internet, lo primero que hace es instalar la tienda en local, para poder probarla y aprender su funcionamiento. Lógico y normal, en ese caso, te recomiendo que leas algunos de estos tutoriales (son para versiones anteriores, pero no ha cambiado practicamente nada en el instalador).
Una vez que tenemos nuestra tienda en local, hemos visto su funcionamiento, hemos probado ampliamente su panel de control, ya tenemos nuestros artículos introducidos (o por lo menos algunos), hemos introducido nuestros impuestos, hemos creado nuestras empresas de transportes y nuestras formas de envíos, y además hemos retocado nuestros temas, quizás, es el momento de pasar toda esa información a internet. Todas estas acciones (introducir artículos, retocar el tema, etc…) las podríamos realizar directamente sobre nuestra tienda en internet, pues claro! pero quizás, sea muchísimo más rápido el hacerlo en local…¿no?
Lo siguiente que nos queda para completar la migración es:
- crear una nueva instalación de la tienda en internet (en nuestro dominio o alojamiento) que debería ser instalada de manera COMPLETA al igual que en local, y con todos los idiomas igual que en local (IMPORTANTE!)
- realizar una copia de la base de datos local, y pasarla a nuestra tienda en internet.
¿Porqué hay que hacer la instalación en internet?
Pues sobre todo porque la instalación de la tienda, generará unas claves de cookies (key) que serán necesarias para la administración, y lo más sencillo es generarlas en la instalación. Además se nos creará automáticamente con los datos que le demos al instalador (nombre base de datos, usuario/password de la base de datos…) el fichero de configuración y conexión con la base de datos llamado: settings.inc.php (se encuentra en la carpeta config/)
¿No valdría con copiar todo de local a internet?
Podrías hacerlo, pero después de configurar a mano el fichero de conexión con las bases de datos (config/settings.inc.php), no te ibas a poder logear (entrar) en el panel de la tienda…
NOTA: La instalación (tanto en local, como en internet), recomiendo que se haga COMPLETA (Ver imagen –> full mode: Install all basic modules and add sample products). Es decir, con todas las tablas de demostración y todos los idiomas. Además también os recomiendo, que useís las mismas claves y el mismo email para la administración de la tienda.

NOTA: Una vez realizada la instalación (tanto en local, como en internet), lo siguiente debería ser instalar las traducciones, que tenemos disponibles en éste portal, realizada por nosotros y la gente de nuestro foro (gracias @junnecito!).
NOTA: También es muy importante que no borreís idiomas (ni en local, ni en internet), sino que desactiveís los que no vais a usar (panel de control > herramientas > idiomas). Al ir desactivando idiomas, irán desapareciendo las banderas en la parte superior. Y a continuación elegid el idioma por defecto en vuestra tienda (panel de control > herramientas > idiomas > Idioma por Defecto). Suele ser muy habitual liarnos en los idiomas. Aseguraros de pinchar en la bandera española (tanto en el panel de control, como en la tienda) para empezar a trabajar, ya que teneís que tener en cuenta, que cuando estamos en español y vemos un nombre de producto, no tiene porqué ser el mismo texto cuando cambiemos al ingles (por ejemplo), pues ahí podría tener otra traducción, que se editaría en ese momento. DIsponemos de 20 idiomas si queremos!
PASO 2: INSTALACIÓN EN INTERNET
De la misma manera que instalamos en local, instalaremos en internet, siempre y cuando teniendo en cuenta, que tenemos que ponernos en contacto con nuestro hosting, para que nos den el acceso/clave a nuestro phpmyadmin (o herramienta similar) para la creación de nuestra base de datos de la tienda. Y una vez que hayamos creado en internet, nuestra base de datos vacía (junto con su usuario y contraseña), ya podremos cargar la instalación, simplemente con la dirección de nuestra tienda: http://dirección-de-mi-tienda
Una vez, accedamos a nuestra tienda, automáticamente arrancaremos el instalador (exactamente como en local), y lo único que tendremos que hacer, será rellenar los campos referentes a la base de datos, e instalar la aplicación COMPLETA (full installation, repito de nuevo), con todas sus tablas, igual que hicimos en local.
Finalizada la instalación, al igual que habremos hecho en local:
- borramos o renombramos la carpeta de instalación (mejor lo primero)
- renombramos la carpeta de administración (admin) al nombre de carpeta que daseemos
Si todo ha ido bien, podremos ver nuestra tienda y entrar en nuestro panel de administración sin problemas.
NOTA: suele ser habitual en internet, que los hosting, tengan desactivada la opción de “Allowed to open external URLs” por tanto, si vemos este aviso (no error) en el instalador de Prestashop, podemos comunicárselo a nuestro hosting para que nos digan cómo activarlo (o que lo activen ellos). No es necesario para la aplicación, y de momento para lo único que se usa es para cargar las noticias desde Prestashop.com, desde nuestro panel de control (en el futuro podría tener otros usos).
PASO 3: TRASPASANDO LA BASE DE DATOS
Ya estamos acabando. Lo único que nos queda por hacer ya, es pasar toda la base de datos local, a internet (ojo, se podrían pasar simplemente las tablas que necesitáramos: de productos, de categorías, etc…). En nuestro caso, vamos a suponer que queremos migrar la base de datos completa (todas las categorías, todos los productos, todos los impuestos, etc..), por eso haremos la migración completa de la base de datos.
Pues lo único que tendremos que hacer, será ir a la página de phpmyadmin local, y elegir la opción de “EXPORTAR” todas las tablas de la base de datos (estructura y contenido). Obtendremos un fichero con extensión .sql, con el nombre de la base de datos.
Ahora, entraremos en el phpmyadmin (o similar) de nuestra base de datos en internet, y BORRAREMOS, todas las tablas de la base de datos (repito que estamos en internet!), para posteriormente importar (pestaña sql) el fichero que hemos exportado en la fase anterior. Si no borramos las tablas, no podremos importar, pues no dirá que ya existe esa tabla. Por tanto, muy fácil, primero borrar todas las tablas, y luego importar el fichero sql del paso anterior.
Cuando hayamos concluido (aparecerá un mensaje de importación correcto), nos salimos del panel de control de la tienda en internet (si estábamos dentro) e intentamos de nuevo entrar (si no recordamos la clave, solicitamos que se nos envíe). TODO estará como en local: categorías, impuestos, productos, transportes…etc. Idem, si recargamos la página principal de la tienda: veremos las categorías, los productos, los módulos, etc…
Así de fácil. Se pueden pasar sólo productos de local a internet, o sólo categorías, etc…para ello, bastará con que exportemos sólo las tablas adecuadas. Por ejemplo, si hemos modificado las categorías, y los productos en local y queremos subirlo todo a internet, habría que exportar y luego importar estas tablas:
- product
- product_lang
- product_attribute *
- product_attribute_combination *
- image
- image_lang
- category
- category_lang
- category_product
Cómo ves, quizás es más fácil subirlo todo, o simplemente luego ya tranquilamente trabajar sobre la tienda en internet..según gustos.
PASO 4: SUBIENDO NUEVAS IMÁGENES A INTERNET
Si tienes que subir imágenes que has estado usando el local, y que no tienes en internet, lo único que tendrás que hacer es copiar por ftp, la carpetas adecuadas junto a todo su contenido:
- Si són imágenes de categorías, tendrás que subir completa la carpeta: /img/c/
- Si son banderas nuevas, tendrás que subir completa la carpeta: /img/l/
- Si son imágenes de fabricantes nuevas, tendrás que subir completa la carpeta: /img/m/
- Si son imágenes de productos nuevos, tendrás que subir completa la carpeta: /img/p/
- Si es tu logotipo nuevo de la tienda, sube el fichero /imp/logo.jpg
Ten en cuenta que asumimos que has subido TODA la base de datos, pues en ella, se encuentran los nombres de las portadas de los productos, el nombre del gráfico de las categorías, de los fabricantes, etc…
PASO 5: ÚLTIMOS DETALLES
- Si has retocado los módulos en local, y quieres actualizarlos en internet, sube la carpeta /modules o el módulo en cuestión /modules/tu-modulo
- Si has retocado los emails que llegan a los clientes, y quieres subirlo a internet para actualizarlo, sube la carpeta /mails/es/ o el email en particular /mail/es/email-en-cuestion.*
- Si has retocado alguna traducción, sube la carpeta /translations
- Si has retocado el tema, sube la carpeta /themes/tu-tema
NOTA: para evitar líos de versiones (cosas distintas en local y en internet), recomiendo que una vez ya se ha instalado la tienda en internet, se ha importado correctamente la base de datos en local, y se han puesto las traducciones, a no ser que sea por causa mayor, lo normal sería ya trabajar en internet, para evitar tener que estar subiendo constanmente contenido al portal. Si no fuera así, espero haberme explicado correctamente para que sepas que subir!
Espero no olvidar nada! En caso contrario, coméntalo aquí!
SALUDOS!














thank you
Hola, es de buena ayuda este tutorial, gracias.
Una duda: ¿Se puede migrar también de internet a local?, lo que pasa es que quiero hacer una base de datos de la tienda que monte en internet (porque no se me ocurrió antes hacerlo en local), y si se pudiera migrar de internet a local, los pasos serian los mismos?
Pues sí. Lo único que tendrás que hacer cuando tengas todo en local, será cambiar el fichero de configuración de tu aplicación /config/settings.inc.php para ajustar tu usuario, password y nombre de la base de datos, así como la ruta de la aplicación.
Lógicamente, ahora será en local donde crees la base de datos, que contendrá lo exportado de la que tienes en internet.
saludos