Búsqueda personalizada

Migrar nuestra tienda PRESTASHOP de local a nuestro servidor en internet

por [hans] • 29 de Agosto de 2008 • Categoría: Noticias, Tutoriales

Son 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
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:

  1. 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!)
  2. 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.

instalacion completa

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!


Puedes ver también...

26 Responses »

  1. thank you

  2. 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?

  3. 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

  4. ejem yo tengo una dudita que tal vez sea una parida pero que personalmente me a liado mucho… quando estoy creando una categoria debajo de imagen me pone categoria meta…
    ¿¿¿Que puñetas es eso???

  5. Buenas @salvor.

    A lo que haces referencia son datos para los buscadores, en particular en la categorías te pide la descripción (con la que aparecerías en los resultados de los buscadores), el título (con el que aparecerías en los resultados de los buscadores) y las palabras claves por las que te gustaría aparecer en los resultados de los buscadores cuando alguien preguntara sobre esas palabras en cuestión. Te pego un enlace para que leas algo sobre el tema.
    http://www.visitas-web.com/2007/12/etiquetas-title-description-y-keywords.html

    Un saludo!

  6. Hola, Salvor
    Que es un meta? Muy simple: son palabras claves o etiquetas que utilizas para definir tu producto o servicio. Ejemplo: es como colocarle una etiqueta a una prenda, y lo deberas hacer para denominar/definir tu producto o servicio.
    Por que? te beneficias de que los buscadores clasifiquen tu pagina segun el contenido y obtienes posicionamiento natural de forma efectiva sin ningun coste.

  7. Hola a todos,

    primero deciros que he puesto esta pregunta en “instalar prestashop en local”. siento haberla duplicado.

    Intentando instalar prestashop en un alojamiento compartido, en system configuration la base de datos se conecta ok, me ha enviado un mail de confirmación, ok, pero tengo este aviso que no me permite seguir adelante que es:

    Can’t create settings file, if /config/settings.inc.php exists, please give the public write permissions to this file, else please create a file named settings.inc.php in config directory.

    Dentro de la carpeta de config, origial, tengo:

    config.inc.php
    index.php
    smarty.config.inc.php.

    y el que he creado según me indica que es

    settings.inc.php.

    A este último le cambio los aributos a 777 quedando con filezilla, según me indica la advertencia también y me indica ésto.

    Estado: Ajustar permisos de ‘/httpdocs/prestashop/config/settings.inc.php’ a ‘777′
    Comando: CWD /httpdocs/prestashop/config
    Respuesta: 250 CWD command successful.
    Comando: SITE CHMOD 777 settings.inc.php
    Respuesta: 500 ‘SITE CHMOD 777 settings.inc.php’: command not understood.

    Y aquí sigo sin poder pasar a shop configuration y terminar con la instalación.

    ¿Me podéis echar una manos por favor?.

    Muchas gracias por adelantado.

    Diego.

  8. Hola.
    Es más fácil si se lo comentas a tu hosting y te cambian ellos los permisos, pero no es normal que te pase esto.

    saludos

  9. Buenas, mi cuestion es la siguiente. podria usar un pc de mi red local para alojar prestashop y servirlo a internet directamente? de ser asi me gustaria hacerlo en linux. en este caso digamos que yo estaria siempre en local no? muchsa gracias.

  10. Buenas, yo tengo un problema en el segundo paso de la instalación en el servidor. En System and permissions aparece la barrita arriba cargando pero por mucho que le doy a refrescar no me aparece nada en Optional set-up. Tampoco me deja continuar. No sé dónde puede estar el problema, utilizo 000webhost.com.

    He encontrado mi misma pregunta en el foro de Prestashop en inglés, pero no me ha resuelto el problema:

    http://www.prestashop.com/forums/viewthread/2303/#81701

    Gracias!

  11. Hola Jose L.
    Entiendo que te refieres al paso número 3 de configuración de la base de datos, si es así, te ocurre seguramente porque la contraseña de tu base de datos mysql tiene caracteres raros. Cambia esa contraseña y veras como todo va ok.

    saludos

  12. Ey, felicidades, agradezco tus conocimientos, pues en breve voy a atravesar ese puente, y ciertamente he estado todo el santo día tratando de buscar esta información en google, que dicen que todo lo puede.

    De nuevo, felicidades.

    Att.Vicent Hdez

  13. x cierto, yo introduje diferentes carpetas ordenadas por productos, y en su interior sus correspondientes imagenes, todas esas carpetas las aloje dentro de Modules/editorial (local), debo de suponer que mediante ftp , seleccionaré todas estas carpetas y las meteré de nuevo en modules/editorial (internet).?

    Gracias de nuevo.

  14. Otra duda:

    Cuando entro en “http://localhost/prestashop/admin608″ que es mi caso, como explicas mas abajo: (Donde encuentro la opción exportar) no la veo por ningín lado.

    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

    Att

  15. Hola Vicent.
    Sí, sube esas carpetas al mismo sitio pero en internet, en cuanto a lo de exportar me refiero a exportar dentro de phpmyadmin no desde la tienda. http://localhost/phpmyadmin
    saludos

  16. Buf , gracias por la celeridad, ahora trato de instalarlo en internet………..y resulta que lo que hice a la primera en mi ordenador…ahora en el primer paso ya me dice que en la primera pantalla…

    Write permissions on files and folders:
    # /config
    # /tools/smarty/compile
    # /sitemap.xml
    Write permissions on folders and subfolders/recursively:
    # /img
    # /mails
    # /modules
    # /themes/prestashop/lang
    # /translations
    # /upload
    # /download

  17. Y el del hosting me dice que :

    debes modificar los permisos de las carpetas, indicando si quieres que los scripts tengan permiso para modificar, crear o eliminar archivos dentro de ellas. A esto se le llama CHMOD, deberás leer las instrucciones de instalación, las cuales te indicarán que tipo de CHMOD aplicar a cada una de las carpetas.

    Toy Hecho 1 Lio

  18. Hola a todos , gracias por este tutorial , aprovecho para hacer una pregunta , hice la migracion tal como figura en el tutorial y no me deja acceder al bo , luego lo hize con la opcion 2 copiar toda la carpeta de la tienda mediante ftp al servidor , tampoco funciona me da este error….

    Link to database cannot be established.

    no se realemnte donde esta el error.

    Saludos.

  19. Hola @faby.
    No conectas porque tienes que cambiar el fichero /config/settings.inc.php con los datos de conexión de tu servidor en internet, ahora has subido el fichero con los datos de conexión en local. Mira el fichero y veras que tienes que rellenar con el nombre de usuario, password de la base de datos, junto con el nombre de la base de datos.

    Saludos

  20. Muchas gracias; era fácil pero ha sido muy bueno tener una guía como la tuya…
    Un saludo

  21. Hola a todos.

    Para exportar la base de datos dices que en 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 que habra que importar en la base de datos de internet. Mi pregunta es ¿en que carpeta se guarda dicho fichero, porque al ir a importar en la base de datos de internet me pide la ruta en donde se encuentra el fichero a importar, pero no lo encuentro.? Gracias y muy bueno el tutorial.
    Diego

  22. @diego, busca en tu sistema ese fichero, seguramente lo tendras en el escritorio o en la carpeta de descargas por defecto de tu navegador.

  23. Gracias, estoy iniciandomen en eso del Prestashop vengo del OpenCart y se parecen muchisimo con la senzilles por realizar las cosas

  24. Hola a todos….

    Me gustaria saber que carpetas se pueden subir al servidor de internet porque he hecho cualquier cantidad de modificaciones en local que no recuerdo cuales son todas las carpetas afectadas, no se si se pueda pasar todo el sitio o si alguna carpeta no se debe pasar o si basta con pasarlas todas y cambiar algunos archivos de configuracion.

    les agradesco la ayuda que me puedan prestar

    gracias

  25. Hola, tengo un problema, dentro de mi sitio http://www.telefoniacelular.com.uy cree una tienda de prestashop, pero he tocado algo en la administracion de la tienda y ahora me dice lo siguiente: Link to database cannot be established., quisiera poder dejar todo como estaba, gracias por la ayuda un abrazo, javier

  26. hola javier contame que tocaste a ver si te puedo ayudar ?

Leave a Reply