Jump to content

[SOLUCIONADO]Replicar tienda prestashop para pruebas.


japarisid

Recommended Posts

Hola,

 

En nuestra tienda prestashop vamos cambiando algunas cosas del código. Pero hemos creado una máquina virtual con el mismo Sistema Operativo que la tienda original para tener una réplica de la tienda y hacer pruebas con esta. Tenemos la misma versión en Prestashop, SO y servicios.

 

Luego hemos exportado la base de datos original para importarla en la máquina de pruebas (phpMyAdmin), pero al iniciar sesión en el Backoffice de la tienda replicada primero me obliga a acceder con https ya que en la tienda original tenemos certificado SSL, intento acceder con usuario pass originales y dice que el empleado no existe o la contraseña es erronea.

Cuando accedo con esos mismos a la tienda verdadera si que entro.

Cómo puedo tener la misma base de datos en la máquina de pruebas y hacerla funcionar?

 

Gracias.

Edited by japarisid (see edit history)
Link to comment
Share on other sites

Hola,

 

En nuestra tienda prestashop vamos cambiando algunas cosas del código. Pero hemos creado una máquina virtual con el mismo Sistema Operativo que la tienda original para tener una réplica de la tienda y hacer pruebas con esta. Tenemos la misma versión en Prestashop, SO y servicios.

 

Luego hemos exportado la base de datos original para importarla en la máquina de pruebas (phpMyAdmin), pero al iniciar sesión en el Backoffice de la tienda replicada primero me obliga a acceder con https ya que en la tienda original tenemos certificado SSL, intento acceder con usuario pass originales y dice que el empleado no existe o la contraseña es erronea.

Cuando accedo con esos mismos a la tienda verdadera si que entro.

Cómo puedo tener la misma base de datos en la máquina de pruebas y hacerla funcionar?

 

Gracias.

Estimado: japarisid, has movido tanto los ficheros como la base de datos, o solo la base de datos ?

Link to comment
Share on other sites

Es la misma version de prestashop (1.4.8.2). He movido solo la base de datos, eliminando la de prueba e importando la original.

Debo también mover la carpeta prestashop entera?

Habrá algun problema de incompatibilidad al tener dos tiendas iguales? aunque una esté en una máquina de forma local

Link to comment
Share on other sites

Es la misma version de prestashop (1.4.8.2). He movido solo la base de datos, eliminando la de prueba e importando la original.

Debo también mover la carpeta prestashop entera?

Habrá algun problema de incompatibilidad al tener dos tiendas iguales? aunque una esté en una máquina de forma local

Mueve los ficheros de la tienda, o al menos el fichero /config/settings.inc.php (lógicamente en este fichero reconfigura el acceso a la base de datos, y el directorio prestashop)

Link to comment
Share on other sites

Mueve los ficheros de la tienda, o al menos el fichero /config/settings.inc.php (lógicamente en este fichero reconfigura el acceso a la base de datos, y el directorio prestashop)

 

He movido a la máquina la carpeta 'prestashop' entera, tal cual está en el servidor. También he creado la base de datos con el mismo nombre para que la detecte, y en el fichero 'settings.inc.php' le he cambiado la contraseña porque me decia que no se conectaba con el phpMyAdmin.

Ahora tan solo me dice cuando intento acceder al backoffice: "The database selection cannot be made."

Link to comment
Share on other sites

Alguna idea de como tener la tienda replicada? No hace falta que todo este exactamente igual, (clientes, idiomas, administrador,... no hace falta)

Tan solo el aspecto visual (Todas las tablas relacionadas con el catalogo)

El problema esque importando tan solo ciertas tablas las relaciones no son iguales y no se ve la tienda.

Si alguien supiera decirme que tablas tengo que omitir en la copia para que no cambie el root y estas cosas y solo se replique el aspecto visual.

 

Gracias.

Link to comment
Share on other sites

Hola

 

te cuento rápido cómo lo hago.

 

- backup bbdd

- backup carpeta prestashop

 

Vuelcas el backup en la VM y la carpeta lo mismo (obviamente tienes que tener configurado Apache etc etc)

 

ejecutas en la bbdd de la VM ésto:

 

 

update ps_configuration set value = 'tu.tienda.com' where name = 'PS_SHOP_DOMAIN';

update ps_configuration set value = 'tu.tienda.com' where name = 'PS_SHOP_DOMAIN_SSL';

UPDATE mysql.user SET Password=PASSWORD('LA PASS del fichero Settings') WHERE User='EL USER del Fichero Settings' AND Host='localhost';

 

Después tienes que modificar la password del user admin, en el fichero settings.inc.php sacas la COOKIE-KEY y ejecutas otra vez en el mysql esto: (el md5 es el churro de la cookie-key más la password que quieras darle sin espacios)

 

UPDATE ps_employee SET passwd = md5("jcIfPFG6iiauOrQtyCDyuaeji0tr3xJeq7FJ7MBKZpdseX956CpJQAFAoLAPASSWORD") WHERE email = "[email protected]";

 

Después tendrás que poner en tu máquina una entrada en el fichero HOSTS (en windows está en la carpeta de system32 creo recordar) que apunte el dominio tu.tienda.com a la ip de la VM (o eso o tocar el DNS que estés usando en la oficina)

 

Y ya tendrás la maqueta igual que la que tienes online.

 

un saludo.

Link to comment
Share on other sites

 

Siguiendo esa guia consigo lo mismo que copiando la carpeta entera y la bbdd, que no pueda iniciar sesion en el back office.

 

Hola

 

te cuento rápido cómo lo hago.

 

- backup bbdd

- backup carpeta prestashop

 

Vuelcas el backup en la VM y la carpeta lo mismo (obviamente tienes que tener configurado Apache etc etc)

 

ejecutas en la bbdd de la VM ésto:

 

 

update ps_configuration set value = 'tu.tienda.com' where name = 'PS_SHOP_DOMAIN';

update ps_configuration set value = 'tu.tienda.com' where name = 'PS_SHOP_DOMAIN_SSL';

UPDATE mysql.user SET Password=PASSWORD('LA PASS del fichero Settings') WHERE User='EL USER del Fichero Settings' AND Host='localhost';

 

Después tienes que modificar la password del user admin, en el fichero settings.inc.php sacas la COOKIE-KEY y ejecutas otra vez en el mysql esto: (el md5 es el churro de la cookie-key más la password que quieras darle sin espacios)

 

UPDATE ps_employee SET passwd = md5("jcIfPFG6iiauOrQtyCDyuaeji0tr3xJeq7FJ7MBKZpdseX956CpJQAFAoLAPASSWORD") WHERE email = "[email protected]";

 

Después tendrás que poner en tu máquina una entrada en el fichero HOSTS (en windows está en la carpeta de system32 creo recordar) que apunte el dominio tu.tienda.com a la ip de la VM (o eso o tocar el DNS que estés usando en la oficina)

 

Y ya tendrás la maqueta igual que la que tienes online.

 

un saludo.

 

Voy a probar y te cuento.

Link to comment
Share on other sites

Hola

 

te cuento rápido cómo lo hago.

 

- backup bbdd

- backup carpeta prestashop

 

Vuelcas el backup en la VM y la carpeta lo mismo (obviamente tienes que tener configurado Apache etc etc)

 

ejecutas en la bbdd de la VM ésto:

 

 

update ps_configuration set value = 'tu.tienda.com' where name = 'PS_SHOP_DOMAIN';

update ps_configuration set value = 'tu.tienda.com' where name = 'PS_SHOP_DOMAIN_SSL';

UPDATE mysql.user SET Password=PASSWORD('LA PASS del fichero Settings') WHERE User='EL USER del Fichero Settings' AND Host='localhost';

 

Después tienes que modificar la password del user admin, en el fichero settings.inc.php sacas la COOKIE-KEY y ejecutas otra vez en el mysql esto: (el md5 es el churro de la cookie-key más la password que quieras darle sin espacios)

 

UPDATE ps_employee SET passwd = md5("jcIfPFG6iiauOrQtyCDyuaeji0tr3xJeq7FJ7MBKZpdseX956CpJQAFAoLAPASSWORD") WHERE email = "[email protected]";

 

Después tendrás que poner en tu máquina una entrada en el fichero HOSTS (en windows está en la carpeta de system32 creo recordar) que apunte el dominio tu.tienda.com a la ip de la VM (o eso o tocar el DNS que estés usando en la oficina)

 

Y ya tendrás la maqueta igual que la que tienes online.

 

un saludo.

 

Hola,

 

Los tres primeros updates que pones ya los tenia correctos, he actualizado la contraseña tal como me dices.

El entorno es un Centos 5.8 y tengo en /etc los archivos: hosts.conf, hosts, hosts.allow, hosts.deny

Sabrias decirme cual o cuales ficheros tengo que modificar y que tengo que poner exactamente?

Algo como: www.mi_tienda.com IP_maquina

O alreves?

 

Gracias

 

EDITO: He puesto en el archivo hosts: Ip_maquina_local www.mi_tienda.com, con todos los demas pasos anteriores realizados.

Al acceder en el navegador mediante IP_maquina/prestashop/admin, la pantalla se queda toda blanca.

Pero he activado la detección de errores y me pone:

Fatal error: Class 'Memcache' not found in /var/www/html/prestashop/classes/MCached.php on line 45

Edited by japarisid (see edit history)
Link to comment
Share on other sites

pues puedes instalar el memcached + php-memcache o deshabilitarlo en el fichero settings

 

Si estás con Centos tienes que usar la herramienta YUM para instalar los paquetes necesarios para echar a andar memcached

 

un saludo.

Link to comment
Share on other sites

Yo no se por que vosotros, tenéis que volver a generar la contraseña del empleado, cuando yo he realizado migraciones sin ese problema:

 

1) Hacer un backup de tu tienda

 

2) Hacer un backup de tu base de datos

 

3) Conectarte al ftp en tu nuevo servidor y subir el backup de la tienda

 

4)Crear la base de datos en el panel de tu hosting, con el usuario asociado y importar la base de datos de la cual has realizado un backup antes.

 

5) Modificar fichero /config/settings.inc.php para restablecer los datos de conexión a la base de datos.

 

6) En el mismo fichero /config/settings.inc.php, buscar:

 

define('__PS_BASE_URI__', '/directorio/');

 

Y cambiarlo por el directorio por donde accedamos a nuestra tienda.

 

7) En la 1.4, podemos entrar directamente al panel de prestashop, y cambiar la url del dominio, en la pestaña Preferencias/SEO-URLS (Hay podemos cambiar el PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL, sin ningún problema)

 

8) Volver a generar el .htaccess

 

9) Vaciar la carpeta /tools/smarty/compile y /tools/smarty/cache para limpiarnos en salud.

Link to comment
Share on other sites

Yo todas las veces que lo hago tengo que volver a regenerar la contraseña del empleado, no me preguntes por qué pero así es, si no no entro en el BO.

 

Salud

Pero haces un volcado entero de la tienda, o no lo haces completo? (Lo pregunto por simple curiosidad)

Link to comment
Share on other sites

Hago un mysqldump de la BBDD, creo a pelo una BBDD en la VM y simplemente vuelco sobre esa el backup.

 

El backup de la carpeta "prestashop" excluye ya las carpetas de smarty y las cachés ;) no lo he comentado antes pero es un buen apunte por tu parte.

 

un saludo.

Link to comment
Share on other sites

Hago un mysqldump de la BBDD, creo a pelo una BBDD en la VM y simplemente vuelco sobre esa el backup.

 

El backup de la carpeta "prestashop" excluye ya las carpetas de smarty y las cachés ;) no lo he comentado antes pero es un buen apunte por tu parte.

 

un saludo.

Era simple curiosidad.. (Pero vamos, si mueves todos los ficheros de tu tienda, y mueves la base de datos de esa tienda... no tendrías que volver a regenerar ninguna contraseña.)

 

Pero bueno, era por simple curiosidad.

 

Un saludo y gracias por colaborar por la comunidad.

Link to comment
Share on other sites

Pues (no sé no me hagáis mucho caso) puede ser un problema de las cookies y cuando cambias la pass funciona, cuando entro en el BO sin cambiarla no me da ningún error, simplemente recarga la página de login.

 

Y gracias a ti por tu ayuda en los foros ;)

Link to comment
Share on other sites

Gracias Oka y Nadie,

 

Por fin he podido hacer una replica exacta en local.

Los pasos que me faltaban eran instalar el Memcache, vaciar las carpetas compile y cache, y en la tabla ps_configuration ponerle value localhost a PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL.

Link to comment
Share on other sites

Gracias Oka y Nadie,

 

Por fin he podido hacer una replica exacta en local.

Los pasos que me faltaban eran instalar el Memcache, vaciar las carpetas compile y cache, y en la tabla ps_configuration ponerle value localhost a PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL.

Me alegro, de que hayas podido resolver el problema!

Un saludo, y recuerda que la comunidad de prestashop, estará por el foro, para guiarte por este mundo oscuro y tenebroso.

  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...