Comunidad Hispana Prestashop : Temas : Modulos : Tutoriales y mas
Aqui encontraras lo que necesites para tu tienda Prestashop



Noticias

29-08-2008

Migrar nuestra tienda PRESTASHOP de local a nuestro servidor en internet

Más artículos de »
Escrito por: [hans]
Etiquetas: ,

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!


Acerca del Autor

[hans]





 
 

 
 

Modificar o Crear contraseñas de usuarios PRESTASHOP

Es un tema muy recurrido en nuestros foros de Prestashop: ¿Cómo podemos cambiar contraseñas de usuarios de la tienda sin entrar en el panel de control? La mayoría de las veces, es porque no podemos entrar en el panel de con...
por [hans]
25

 
 
 

Cómo funcionan los Módulos en Prestashop

Prestashop incluye la posibilidad de poder añadir funcionalidades a nuestra tienda, a través de módulos, los cuales podrán ser colocados en contenedores de nuestra página web, llamados Hooks. Así tenemos los siguientes Ho...
por [hans]
49

 
 
 

Instalar PRESTASHOP en WINDOWS

Para poder instalar, probar y modificar PRESTASHOP en nuestros equipos con Windows, debemos convertirlo en un servidor web, capaz de interpretar PHP y generar HTML al vuelo. Además, los requisitos necesarios para nuestra tiend...
 

 
 

Instalar PRESTASHOP en LINUX

Para poder instalar, probar y modificar PRESTASHOP en nuestros equipos con LINUX, debemos convertirlo en un servidor web, capaz de interpretar PHP y generar HTML al vuelo. Además, los requisitos necesarios para nuestra tienda ...
por [hans]
5

 



63 Comments


 
 

  1. Hola Jorge, si tienes acceso a phpmyadmin en tu servidor, lee esto y cambia tus contraseñas:
    http://todoprestashop.com/modificar-crear-contreasenas-de-usuarios-prestashop-desde-phpmyadmin

    saludos


  2. juan

    Hola a todos;
    Tengo un problema al importar localhost.sql y es que me da un error:

    CREATE DATABASE `prestashop` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

    MySQL ha dicho: Documentación
    #1044 – Access denied for user ‘zoby_5829930′@’%’ to database ‘prestashop’

    No puedo seguir, graciasss


  3. Una pregunta, estamos migrando se hosting a hosting y cuando exportamos la base de datos y tratamos importarla en el hosting nuevo nos da un error en Msql diciendo que la base de datos de demaciado grande, pesa 8MB hay alguna manera de que no pase esto? lei por ahi de trocearla pero me parece de los pelos eso…. agraderece vuetros comentarios

    muchas gracias


  4. ca60689

    Hola a todos,

    He seguido el tutotial tal cual, y ya tengo la tienda en el sevidor remoto con la base de datos local subida. pero cuando quiero ver mi tienda me redirige a localhost.Mi version de prestashop es la 1.4.3.He leido un post en el cual habla de modificar la tabla ps- configuration aparte de modificar la seo&url, que ya lo he echo y nada.
    La tabla ps_configuration, en mi version no contiene estas tablas:
    PS_SHOP_DOMAIN ———> LOCALHOST
    PS_SHOP_DOMAIN_SSL —-> LOCALHOST

    Por tanto no puedo modificarlas.
    Sabeis como solucionarlo.
    Otra duda de la instalacion:
    He revisado los post y no he encontrado 1 que diga claro que carpetas o archivos devo modifcar sus atributos, con que numero y por que.Cuales son las consecuencias de no hacerlo.

    Gracias.


  5. alfonso

    Muy buen tutorial, pero tenia una duda, utilizo prestashop 1.4, todo bien excepto que en el front office no aparecen las categorias aunque en el back office si que aparecen, a que puede ser debido? gracias.


  6. Vicent

    Fantástico tutorial Hans, he realizado todos los pasos, copiado imágenes etc..de lujo, he conseguido cambiar la tienda entera de una url a otra…

    Entro sin problema al back office del clon en la nueva url, pero cuando trato de acceder al front office me redirecciona a la url vieja..???, tienes idea de donde está el error??

    Gracias!!!


  7. Hola Vicent, entra primero en el backoffice de tu tienda en Internet, y vete a la sección de SEO&URLS y ahí pon la nueva dirección de tu tienda, esto es nuevo, sólo eso.

    Saludos


  8. Muy buena guía.

    Voy a hacer un pequeño aporte que quizás a alguien le sirva de ayuda (yo no encontre ninguna información sobre esto en google y he sudado sangre para solucionarlo)

    Yo hice mi tienda en local y despues la pase a internet siguiendo los pasos de esta guía. El problema es que la tienda me iba bien cuando la instalaba pero cuando importaba la base de datos me daba un error relacionado con los archivos cookies.php y Rijndael.php que se encuentran en la carpeta classes.
    Si os aparece este error lo que teneis que hacer es reinstalar el Prestashop en el servidor y cuando importeis la base de datos no tocar la tabla llamada “ps_configuration” de la base de datos original. Si se deja la tabla original que aparece con la instalación el error no aparece, todas las otras tablas las podéis importar tal y como pone esta guía.

    Un saludo! :D


  9. Por cierto, el error que me aparecía era este (lo pongo para que la gente lo encuentre googleando):

    Notice: Use of undefined constant _RIJNDAEL_KEY_ – assumed ‘_RIJNDAEL_KEY_’ in /var/www/vhost/perfumesdeimitacionyodeyma.es/home/html/classes/Cookie.php on line 76 Notice: Use of undefined constant _RIJNDAEL_IV_ – assumed ‘_RIJNDAEL_IV_’ in /var/www/vhost/perfumesdeimitacionyodeyma.es/home/html/classes/Cookie.php on line 76 Fatal error: Call to undefined function mcrypt_encrypt() in /var/www/vhost/perfumesdeimitacionyodeyma.es/home/html/classes/Rijndael.php on line 44

    Saludos


  10. Buenas noches Hans, gracias por el tutorial pero no hay manera de que me funcione, lo he hecho varias veces todo siguiendo todos tus pasos, pero después de importar la base de datos todo deja de funcionar y no tengo acceso al backoffice ni a nada y me da un mensaje de error Http 500. He leido todos los comentarios en foros y he tratado por todos los medios de registrarme para ver si alguien me puede ayudar pero no hay manera. Te quedaría muy agradecido si pudieras ayudarme a encontrar el problema porque por más que cambio las claves en settings.inc no hay manera.
    He seguido todos los pasos, las dos bases de datos se llaman igual y he creado el mismo usuario con la misma contraseña pero nada.
    Cualquier ayuda será bienvenida.
    Un saludo


  11. Ok, ya lo he ido pudiendo solucionar, ahora el problema que tengo es que va muy lento todo el proceso en el servidor y si trato de subir un artículo nuevo o cambiar alguna cosa me da un error de bad gateway, se queda en blanco y luego cuando vuelvo para atrás si hace el cambio, el problema es que añade alrededor de 70 o 90 veces el mismo artículo. Alguna idea?
    Gracias


  12. Buen artículo, justo me ha ayudado en un pequeño que me faltaba, 1saludo.


 
 



Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>