Jump to content

Prestashop 1.7.7.2 migración de servidor a local - connection refused


Recommended Posts

Hola a todos. 

Tengo una tienda en Prestashop desde hace unos 14 - 15 años. La tenemos alojada en un servidor VPS dedicado contratado a una empresa de hosting. Es un servidor ubuntu y el mantenimiento, respaldos, etc corre prácticamente de nuestra cuenta, la empresa en sí lo que hace es proveernos de la máquina básicamente. Ahora tengo mi propio ubuntu-server montado (22.04.2) para poder migrar la tienda a local y hacer pruebas, test de módulos, cambios de diseño, etc.. en definitiva clonar la tienda real a local. 

El servidor está preparado con la pila LAMP (Linux, Apache, MariaDb, PHP). El PHP que he instalado es el 7.3 para evitar problemas de compatibilidad con nuestra versión de Prestashop (V1.7.7.2). Tengo PhpMyAdmin instalado y gestiono la base de datos de la tienda que ya he respaldado en mi servidor local. Todo listo para importar todos los archivos y directorios de la tienda real a local. 

Tras esto ha tocado cambiar los valores del 'database_host', 'database_user', 'database_password' y 'database_name' en el parameters.php.  La base de datos creada para recibir el contenido en local de la base de datos de la tienda real la he llamado igual y lo único que cambian son los valores del host, user y password. 

Luego he modificado los valores de PS_SHOP_URL en la base de datos local para que apunte al servidor local y a la ruta correcta donde se alojarán las carpetas y archivos de la tienda en el servidor local,  así como los valores de PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL de la base de datos.

En mi caso particular, mi servidor se llama "alphalocal" y no "localhost". Cuando hago una consulta SQL desde PHPMyAdmin en la base de datos, ésta me resuelve el host como tal 'alphalocal' y el puerto por defecto 3306. 

He revisado todos los aspectos que entiendo pueden causar el error con el que me encuentro y que es el que incluyo a continuación. Mi problema es que no logro dar con el error y dependiendo de cómo trate de acceder, el error se muestra como el que sigue o como un simple ERR_CONNECTION_REFUSED del explorador. De ninguna de las maneras he logrado acceder al login del back office o a ver la tienda pública. Cambiando los valores del database_host a 'localhost' a la IP 192.138.1.39 que es la real de mi servidor, a la 127.0.0.1 o al nombre real del servidor (y que es el que reconoce la propia base de datos como tal 'alphalocal'. 

Estoy en una espiral sin salida. Este es el error: 

[PrestaShopException]

Link to database cannot be established: SQLSTATE[HY000] [2002] Connection refused
at line 136 in file classes/db/DbPDO.php

131. public function connect() 132. { 133. try { 134. $this->link = $this->getPDO($this->server, $this->user, $this->password, $this->database, 5); 135. } catch (PDOException $e) { 136. throw new PrestaShopException('Link to database cannot be established: ' . $e->getMessage()); 137. } 138. 139. $this->link->exec('SET SESSION sql_mode = \'\''); 140. 141. return $this->link;

DbPDOCore->connect - [line 330 - classes/db/Db.php]

325. if (!defined('_PS_DEBUG_SQL_')) { 326. define('_PS_DEBUG_SQL_', false); 327. } 328. 329. if ($connect) { 330. $this->connect(); 331. } 332. } 333. 334. /** 335. * Disable the use of the cache.

DbCore->__construct - [line 241 - classes/db/Db.php] - [4 Arguments]

236. $class = Db::getClass(); 237. self::$instance[$id_server] = new $class( 238. self::$_servers[$id_server]['server'], 239. self::$_servers[$id_server]['user'], 240. self::$_servers[$id_server]['password'], 241. self::$_servers[$id_server]['database'] 242. ); 243. } 244. 245. return self::$instance[$id_server]; 246. }

DbCore::getInstance - [line 47 - config/alias.php]

42. * @param bool $htmlOK Does data contain HTML code ? (optional) 43. * @return string Sanitized data 44. */ 45. function pSQL($string, $htmlOK = false) 46. { 47. return Db::getInstance()->escape($string, $htmlOK); 48. } 49. 50. function bqSQL($string) 51. { 52. return str_replace('`', '\`', pSQL($string));

pSQL - [line 1336 - classes/shop/Shop.php] - [1 Arguments]

Argument [0] 192.168.1.39

ShopCore::findShopByHost - [line 337 - classes/shop/Shop.php] - [1 Arguments]

332. $found_uri = ''; 333. $is_main_uri = false; 334. $host = Tools::getHttpHost(false, false, true); 335. $request_uri = rawurldecode($_SERVER['REQUEST_URI']); 336. 337. $result = self::findShopByHost($host); 338. 339. // If could not find a matching, try with port 340. if (empty($result)) { 341. $host = Tools::getHttpHost(false, false, false); 342. $result = self::findShopByHost($host);

ShopCore::initialize - [line 118 - config/config.inc.php]

113. 114. $context = Context::getContext(); 115. 116. /* Initialize the current Shop */ 117. try { 118. $context->shop = Shop::initialize(); 119. } catch (PrestaShopException $e) { 120. $e->displayMessage(); 121. } 122. define('_THEME_NAME_', $context->shop->theme->getName()); 123. define('_PARENT_THEME_NAME_', $context->shop->theme->get('parent') ?: '');

require - [line 40 - admin/index.php] - [1 Arguments]

¿alguna sugerencia? 

Gracias!!

Miguel

Link to comment
Share on other sites

  • razaro changed the title to Prestashop 1.7.7.2 migración de servidor a local - connection refused

Hola Miguel,

El error que salta es bastante explicito, el error consiste en que la base de datos que has especificado en el parameters, prestashop no es capaz de resolver la conexión y comunicarse con éxito.

Comprueba que los datos introducidos sean correctos, aunque tengo que decirte que no tengo claro si tú intención es conectar con tu base de datos local o la remota.

Suerte

Link to comment
Share on other sites

  • 2 weeks later...

Hola Hue2, gracias por tu respuesta y disculpa mi ausencia... he estado a otras cosas pero retomando la cuestión y devanándome los sesos.. 

Exacto, el error es muy explícito y logro que desaparezca desde que cambio el valor 'alphalocal' por el de 'localhost' donde toca (parameters.php, y en las tablas de la base de datos PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL , pero.... sigo sin poder acceder al login en el backoffice, el EDGE me lanza el ERR_CONNECTION_REFUSED. Y detallo:

- El servidor es una máquina con ubuntu server 22.04.2 conectada al router de la oficina, es decir dentro de la misma red.  Es decir, hablamos de problema en local. La tienda real (remota) está operando perfectamente. 

- Puedo acceder a phpmyadmin y gestionar la base de datos sin problemas (en local). 

- No hay logs de error de Apache. 

- Estoy trabajando con el Debug  activado en el defines.inc.php y lo único que veo consultando el dev.log  y tras limpiar la caché  es esto y se repite ¿vendrá por ahí mi problema? : 

[2023-06-28 15:40:53] php.INFO: User Deprecated: Creating Doctrine\ORM\Mapping\UnderscoreNamingStrategy without making it number aware is deprecated and will be removed in Doctrine ORM 3.0. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Creating Doctrine\\ORM\\Mapping\\UnderscoreNamingStrategy without making it number aware is deprecated and will be removed in Doctrine ORM 3.0. at /var/www/midominio.com/public_html/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/UnderscoreNamingStrategy.php:66)"} []
[2023-06-28 15:40:53] php.INFO: User Deprecated: The "sensio_framework_extra.routing.loader.annot_class" service is deprecated since version 5.2 {"exception":"[object] (ErrorException(code: 0): User Deprecated: The \"sensio_framework_extra.routing.loader.annot_class\" service is deprecated since version 5.2 at /var/www/midominio.com/public_html/var/cache/dev/ContainerNg72ceq/getSensioFrameworkExtra_Routing_Loader_AnnotClassService.php:8)"} []
[2023-06-28 15:40:53] php.INFO: User Deprecated: The "Sensio\Bundle\FrameworkExtraBundle\Routing\AnnotatedRouteControllerLoader" class is deprecated since version 5.2. Use "Symfony\Bundle\FrameworkBundle\Routing\AnnotatedRouteControllerLoader" instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: The \"Sensio\\Bundle\\FrameworkExtraBundle\\Routing\\AnnotatedRouteControllerLoader\" class is deprecated since version 5.2. Use \"Symfony\\Bundle\\FrameworkBundle\\Routing\\AnnotatedRouteControllerLoader\" instead. at /var/www/midominio.com/public_html/vendor/sensio/framework-extra-bundle/Routing/AnnotatedRouteControllerLoader.php:19)"} []
[2023-06-28 15:40:53] php.INFO: User Deprecated: The "sensio_framework_extra.routing.loader.annot_dir" service is deprecated since version 5.2 {"exception":"[object] (ErrorException(code: 0): User Deprecated: The \"sensio_framework_extra.routing.loader.annot_dir\" service is deprecated since version 5.2 at /var/www/midominio.com/public_html/var/cache/dev/ContainerNg72ceq/getSensioFrameworkExtra_Routing_Loader_AnnotDirService.php:8)"} []
[2023-06-28 15:40:53] php.INFO: User Deprecated: The "sensio_framework_extra.routing.loader.annot_file" service is deprecated since version 5.2 {"exception":"[object] (ErrorException(code: 0): User Deprecated: The \"sensio_framework_extra.routing.loader.annot_file\" service is deprecated since version 5.2 at /var/www/midominio.com/public_html/var/cache/dev/ContainerNg72ceq/getSensioFrameworkExtra_Routing_Loader_AnnotFileService.php:8)"} []

Sigo indagando... gracias de antemano!

Miguel

Link to comment
Share on other sites

Hola,

No hay problema yo también voy atareado, no te preocupes que al final todo sale. Vamos por partes ¿Has solucionado la conexión de base de datos por lo que entiendo? Separemos los problemas para que sea más fácil, los logs que me muestras son "deprecated" no errores como tales sino funciones que quedan obsoletas y que en versiones cercanas desaparecerán, en PrestaShop es bastante común ya que estan migrando el código a Symfony por ello no pueden estar a las últimas versiones del mismo, hay una forma de desactivar estos mensajes si te resultan molestos. Igualmente Doctrine es el encargado de gestionar la base de datos con symfony, no es algo que tengas que aprender, pero siempre esta bien saber como trabaja.

Entonces ¿La conexión de base de datos la has establecido?

Link to comment
Share on other sites

Hola y muchas gracias por tu respuesta, te comento:

Sí, conecto con la base de datos sin problemas. Es más, accedo desde phpmyadmin sin ningún tipo de problema. Cuando he cambiado el valor de localhost por el de la ip del servidor en PS_SHOP_URL, PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL  me lanza el Prestashop Exception que posteé anteriormente y ahí si se ve explícitamente que no conecta con la base de datos. Cuando uso el valor 'localhost' desaparece ese mensaje. 

Cuando trato de acceder desde W10 con EDGE o desde Linux con Mozilla al back office (o al front) me lanza el ERR_CONNECTION_REFUSED, pero siempre (por si es importante) se ve en la barra del explorador la ruta completa a la carpeta donde está la web. Es decir, se deduce que lee la ruta pero no puede establecer la conexión... el motivo es el dilema.

Llegué a pensar que podría tener que ver con no haber instalado ningún certificado SSL en este servidor local pero lo he hecho y el resultado sigue siendo el mismo. 

Luego tengo otro sitio en el mismo servidor al que he llamado 'test.com' y tras modificar el archivo 'hosts' del esquipo Linux que también estoy usando para tratar de acceder, me lanza el index.html sin problema. Deduciendo de esto dos cosas (al menos yo las deduzco) que Apache está sirviendo bien y que se puede conectar con el servidor. 

Incluso cuando en el sitio donde tengo la tienda Prestashop habilito un index.html e ingreso con 'http://192.168.1.39/index.html' me lanza la página de bienvenida creada para simplemente comprobar que Apache sirve la web. 

Un detalle por si es importante: por defecto cuando ingresas solamente la IP, el navegador me lanza la ruta al front office (tienda pública) con el consecuente ERR_CONNECTION_REFUSED, de esto yo interpreto que Apache me lanza por defecto la web alojada en el primer sitio habilitado siguiendo un orden alfabético. Esto lo interpreto porque creé un tercer sitio con un 'ServerName' específico para que se colocara el primero por orden alfabético y comprobar que efectivamente me lanza ese cuando ingreso la IP del servidor. Ya luego lo he deshabilitado para seguir trabajando y tratando de salir de este escollo que estoy seguro es una chorrada..

Mi gozo en un pozo... Muchas gracias

Link to comment
Share on other sites

Trabajo habitualmente con servidores locales y cuando intento bajar una web alojada en un servidor remoto, lo primero es hacer cambios en la misma configuración de las tablas (no a través de PrestaShop), esto implica cambios en las siguientes tablas ps_configuration y ps_shop_url. Normalmente en configuration hago una búsqueda por sql en phpmyadmin del tipo: SELECT * FROM `ps_configuration` WHERE `name` like '%domain%'

A fin de establecer los cambios. Posteriormente entro en el backoffice, borro completamente la caché y pongo las urls NO AMIGABLES, ejecuto el front (importante forzar la compilación de las plantillas o compilar si han cambiado las plantillas), después lo vuelvo a cambiar a URLS amigables en la configuración.

Esto suele funcionar sin más problemas.

Un saludo.

Link to comment
Share on other sites

Me acabo de dar cuenta... ¿Quieres trabajar en local apuntando a la web real? Porque en este caso el Connection refused me cobra cierto sentido.

Te cuento mi flujo de trabajo:

En mi pc (entorno local): Mediante  Lando (equivalente a LAMP, WAMP, XAMP). Tengo copias de  proyectos que levanto para trabajar, hacer los cambios y subirlo a git.

Servidor 1 (entorno de test): Aquí me hago pull de los cambios y el cliente prueba los cambios.

Servidor2 (entorno de producción): Me traigo finalmente los cambios al servidor de producción aplicando finalmente lo que quiero.

En total tengo tres copias del proyecto.

Link to comment
Share on other sites

Gracias Yelish y Hue2 por la colaboracón. 

Yelish: los cambios en 'ps_configuration' que es donde se indican los valores de PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL están hechos directamente en las tablas correspondientes de la base de datos mediante phpmyadmin, de hecho nunca he tocado esto desde Prestashop, siempre a través de phpmyadmin o desde el terminal conectándome directamente al servidor con Putty vía SSH. También editado el PS_SHOP_URL. Los valores de 'domain' en 'localhost'. 

Hue2: No, yo he clonado la tienda en el servidor local, lo que quiero es acceder a la tienda en local y poder hacer pruebas de módulos, cambios de configuraciones, estilos y ver qué resultado me ofrecen antes de reproducir estos cambios en producción (tienda real). Es decir yo tengo ya todos los archivos de la web real en mi servidor local y quiero trabajar localmente como si fuera la real. 

Gracias

Link to comment
Share on other sites

Me pasaba con mis primeros proyectos, trabajaba en local sobre el servidor remoto lo cual daba lugar a muchos problemas. Me parece un buen esquema de trabajo, normalmente creo varios entornos según el desarrollo, trabajo con servidores antiguos con un php 5.6 para PrestaShop 1.6, medios para 1.7.4.3 - 1.7.5.0 y altos para PrestaShop 1.7.8 y 8. Cambio según la necesidad. También creo entornos de trabajo en local para incidencias de clientes que usan los módulos,  una instalación limpia de la versión del cliente es más gráfica que lo que el propio cliente te puede decir en su entorno de trabajo (aunque puedes llevarte sorpresas). A nivel de control de errores me gusta trabajar mucho con PrestaShop 1.7.8, el 8 lo veo un poco cojo en este sentido. Un saludo.

Link to comment
Share on other sites

Otro detalle Yelish: la caché la borro directamente por FTP. No logro de ninguna manera acceder al back office en local (ese es mi problema) por eso la caché la borro de forma manual por ftp. 

Gracias de nuevo por los comentarios, son de gran ayuda. 

Miguel

Link to comment
Share on other sites

Hola, disculpa, estaba contestando el mensaje anterior. Te recomiendo para lo que quieres hacer, hacer una instalación para modo desarrollo de tu tienda en una carpeta de tu elección, dentro de tu servidor si puedes permitirte ese lujo, allí podrás hacer accesos a programadores y demás de módulos si ocurren incidencias, y a continuación subirla a tu servidor de producción cuando todo funcione bien. No tendrás que actualizar tan a menudo y los accesos ftps serán más fáciles.

No te aconsejo trabajar desde local con servidores remotos, los programadores no lo hacemos (¿por qué será?)

Control. Hasta donde puedes controlar tu servidor remoto¿? Un saludo.

Link to comment
Share on other sites

Gracias de nuevo, aquí mis respuestas:

Hue2: El dominio que he configurado en la máquina local es idéntico al real. Lo he hecho así pensando que era lo mejor de cara a lo que necesito: clonar la tienda real en local.  El '.htaccess' lo he anulado renombrando pues en todos los procesos que he leido de cara a migrar la tienda Prestashop a local indican que el '.htaccess' debe eliminarse o renombrarse para dejarlo sin efecto en local.

Yelish: la tienda real la tenemos alojada en un servidor VPS dedicado. Accedo a él para descargar las copias de seguridad por SFTP, el control es total y puedo acceder por consola como root, está montada en ubuntu-server 16.04 y acabo de acceder para comprobar la versión de PHP que está corriendo en dicho servidor y es PHP 5.6. Sin embargo en el servidor local yo he instalado 7.4 pues es el que recomienda Prestashop para la versión 1.7.7.2 que es la que tengo en producción (sin embargo sin problemas con el PHP5.6 por lo que veo. 

No recuerdo si entre tanto que he probado, instalar PHP5.6 y sus dependencias para luego habilitarlo como predeterminado está entre ellas.. pero por otro lado es contraproducente... no?

Aclaración: la tienda en producción no la montamos nosotros, nos la montó una empresa local que hoy ya no existe.. el servidor carece de panel de control, todo lo hacemos desde Prestashop, SFTP con Filezilla y por consola. Trato de no tocar nada y como se está quedando demasiado anticuado estoy inmerso en el proyecto en local en vistas de contratar un servidor VPS más moderno. Hemos probado servicios de hosting alternativos y no nos ha ido nada bien... hemos vuelto al VPS..

Otra idea en la que coge más fuerza esto del tener bien montado en local toda la tienda es la de poder montar nosotros un servidor propio para producción, con la contratación luego de una IP fija etc... pero tal vez sea un error.. no lo sabemos francamente.. en fin.. 

Mil gracias!

Link to comment
Share on other sites

Hola de nuevo, he de hacer una corrección:

Cuando he consultado en terminal via SSH por 'php -v' me ha devuelto 'php5.6...', pero al consultar el 'info.php' incluido en el sitio web (hablo del real, en producción) me indica que es PHP 7.1.33

Sigo indagando, probando, etc...

Saludos

Link to comment
Share on other sites

Te lo hizo una empresa externa? Es imposible que tu versión de PrestaShop funcione bajo 5.6, lo de 1.7.1.3.3 parece más fiable, pero aún así te diría que reconsideraras migrar a otro servidor y hacer lo que te comenté anteriormente, funciona muy bien con tiendas antiguas, y en tu carpeta para programadores o desarrollo puedes seguir trabajando para que tu tienda dé el salto a la siguiente generación de PrestaShop. No corres riesgos y trabajas con dos direcciones, una de desarrollo y otra de producción. Te lo digo porque así lo trabajan todos mis clientes. Hasta que la de desarrollo no está ok, no la migran a producción. Muchos de mis módulos aún están en nivel desarrollo, porque quieren verlos en la nueva versión de la tienda. Eso es especialmente importante ahora que PrestaShop va a la versión 8, ya 8.1.0. Un servidor propio salvo que necesites mucho rendimiento y muevas mucho tráfico, no tiene sentido. Es tirar el dinero.

Un saludo,

Link to comment
Share on other sites

Hola!, estaba precisamente escribiendo un comentario a tu último mensaje, me he levantado a por un café y acabo de ver tu respuesta... 

El servidor en producción actual nos lo montó en su día una pyme que tristemente desapareció, hasta hace unos años aún teníamos algo de soporte pero cada vez menos. Buscando soluciones, cambié de hosting (hablo en primera persona porque soy el responsable dentro de nuestra pequeña pyme) y terminé volviendo al VPS actual que soy consciente, se está quedando muy obsoleto. 

Este servidor ubuntu que he montado en la oficina, en una máquina independiente conectado al router y controlado por SSH  lo hago con dos objetivos: 1. Tener la tienda en local para probar módulos, retocar aspectos de estilos, diseños, actualizar a un Prestashop más moderno sin miedo a que pete pues si peta, no es la tienda de producción. 2. Por otro lado, siendo capaz de reproducir todo esto en un servidor que no es el de producción, seremos capaces de migrar la tienda a cualquier otro sitio. Porque el VPS que tenemos actualmente contratado no nos da soporte alguno más el garantizarnos que la máquina esté encendida y funcionando, todo lo que tiene que ver con su programación corre de nuestra cuenta. De vez en cuando se cae y soy yo quien por ejemplo debe de reiniciar por consola SSH el servicio de Apache, liberar espacio limpiando las copias de seguridad que se generan diariamente, etc..

En este servidor local, he querido reproducir todo esto y comparo los archivos de configuración, rutas, base de datos, acceso a la misma... todo lo que soy capaz de evaluar y no encuentro el dichoso origen del error. 

Pensando en eso que comentaste de que "los programadores no trabajáis desde local en un servidor remoto".. mi servidor es una máquina dentro de mi red local a la que accedo por SSH y/o FTP para configuraciones, descargar/subir archivos.. pero entiendo que es como estar en ella. ¿o me equivoco?

De hecho ayer, como es un ubuntu server sin interfaz gráfica (solamente línea de comandos) instalé Lynx, un navegador web ejecutable desde la terminal. Conectado a la máquina por SSH ejecuté 

lynx 192.168.1.39

Esto me devolvió directamente el contenido del 'index.html' que he habilitado para volver a comprobar el servicio web. Recuerdo - por si es importante - que apache me está sirviendo por defecto el contenido del 'DocumentRoot' del virtual host configurado para la tienda por defecto cuando ingresas la IP, no entiendo el motivo, pero bueno... sigo indagando también para resolver esta cuestión pues me gusta saber por qué sucede cada cosa. 

Luego he seguido probando con lynx, al lanzar esto

lynx 192.168.1.39/info.php

Me devuelve la información del PHP que está corriendo en mi servidor local y que es la que yo configuré, la 7.3 para mi versión de Prestashop 1.7.7.2. 

Pero cuando lanzo lo correspondiente para acceder al login del back office de Prestashop:

lynx 192.168.1.39/admin151

Pasa lo siguiente:  me lanza la línea de texto indicando que está conectando y luego me lanza

192.168.1.39 cookie: Pre=def502008ceb269fa58024f80 Allow? (Y/N/Always/neVer)

Es decir, me pregunta por las cookies y le digo 'Y', luego me indica que está aceptando las cookies, me lanza la lectura de la ruta a la carpeta del proyecto y me vuelve a lanzar el error, pero esta vez me dice que 'la URL solicitada no fue encontrada en este servidor'

Concluyo con un dato que no me parece menor y que viene relacionado con el tema de que me vuelque la IP directamente como el root del proyecto principal. Cuando comparo el 'info.php' del sitio real (en producción) con el que he montado (local) todo está igual salvo, en lo relacionado al 'Apache Environment' , donde aprecio estas diferencias:

Variable: 'UNIQUE_ID' ...... con valor 'xxxxxxxxxxxxxxxxxxxxxxxxxx' en producción... no aparece en local

Variable: 'HTTP_MOD_REWRITE' ... con valor 'On' en producción.... no aparece en local

Variable: 'REWRITEBASE' .... con valor '/' en producción.... no aparece en local

Variable: 'HTTPS' .... con valor 'on' .... no aparece en local. Aunque en local entiendo que accedemos por HTTP, aunque he configurado un certificado SSL local mediante OPENSSL por si mi problema pudiera estar por aquí..

El resto de valores son iguales con las diferencias de las direcciones IP y que en el local me muestra e valor de la IP (192.168.1.39) para las variables 'HTTP_HOST' y 'SERVER_NAME'. En su momento recordé agregar el 'ServerName' en el 'apache2.conf' pero no me solucionó nada y sí está en el archivo de 'conf' específico del VirtualHost para el sitio donde se aloja la tienda..  tal y como está en producción... pero le daré otra vuelta..

Por último: cuando me dices "Te recomiendo para lo que quieres hacer, hacer una instalación para modo desarrollo de tu tienda en una carpeta de tu elección, dentro de tu servidor si puedes permitirte ese lujo..." ¿te refieres a instalar Prestashop desde 0 en el servidor que he montado?. Cuando asalté por primera vez esta idea, lo hice pero luego leí que si lo que quieres es tener clonada tu tienda tal cual en local, lo mejor es hacerlo como he procedido: copiando literalmente la carpeta raiz y todo su contenido. Eso es lo que he hecho. 

Graciassss y espero que todo esto pueda ayudar a más gente.. Siento extenderme tanto pero trato de no dejarme nada que pueda arrojar luz... 

Miguel

Link to comment
Share on other sites

Volvemos a lo básico. Baja tu web en local, quizás en un servidor Xampp, a mi me gustan, son adaptables, ajustado a lo que tengas en tu servidor versión PHP, así tengo mi versión de Windows, con lo que sea, toda la web completa. Te falta la base de datos. Accede a tu base de datos, desde el servidor, baja una imagen de la base de datos COMPLETA para moverla en local, normalmente importar. ¿La tienes? Genial, ahora crea permisos para un cliente local que mueva tu tienda local y tu base datos. Bajo entorno Xampp en cuentas de usuarios, elige uno, ponle un nombre y en permisos dile que mueva tu base datos. Todo en localhost. Tienes la base de datos, toda, cambia lo que te comenté en mis post anteriores, cámbialo todo a localhost. O su equivalente. Olvídate de los idiomas. Intenta ejecutar el backoffice. No va, ningún problema, entra, cambia urls amigables a normales. Mira si ahora ejecuta el backoffice, va, genial. Cambia otra vez a urls amigables. Ahora muestra las imágenes¿? Genial.

Los cambios en los módulos, solo una vez instalados en tu versión de producción, los resubes, tienes 2 servidores, uno local de pruebas y otro para producción. Pero ya te digo que no es lo que suelen hacen los merchants,

ellos lo mueven todo arriba. Es más fácil. Y evitan problemas de en mi servidor de pruebas local funciona, ahí no. Ya me comentas, llevo en la oficina mucho tiempo, muy sudado, aquí no hay aire acondicionado, un gran saludo,

 

Link to comment
Share on other sites

3 hours ago, Yelish said:

Volvemos a lo básico. Baja tu web en local, quizás en un servidor Xampp, a mi me gustan, son adaptables, ajustado a lo que tengas en tu servidor versión PHP, así tengo mi versión de Windows, con lo que sea, toda la web completa. Te falta la base de datos. Accede a tu base de datos, desde el servidor, baja una imagen de la base de datos COMPLETA para moverla en local, normalmente importar. ¿La tienes? Genial, ahora crea permisos para un cliente local que mueva tu tienda local y tu base datos. Bajo entorno Xampp en cuentas de usuarios, elige uno, ponle un nombre y en permisos dile que mueva tu base datos. Todo en localhost. Tienes la base de datos, toda, cambia lo que te comenté en mis post anteriores, cámbialo todo a localhost. O su equivalente. Olvídate de los idiomas. Intenta ejecutar el backoffice. No va, ningún problema, entra, cambia urls amigables a normales. Mira si ahora ejecuta el backoffice, va, genial. Cambia otra vez a urls amigables. Ahora muestra las imágenes¿? Genial.

Los cambios en los módulos, solo una vez instalados en tu versión de producción, los resubes, tienes 2 servidores, uno local de pruebas y otro para producción. Pero ya te digo que no es lo que suelen hacen los merchants,

ellos lo mueven todo arriba. Es más fácil. Y evitan problemas de en mi servidor de pruebas local funciona, ahí no. Ya me comentas, llevo en la oficina mucho tiempo, muy sudado, aquí no hay aire acondicionado, un gran saludo,

 

Vaya!! mil gracias.. yo he estado repasando detalles y preparándome para instalar un nuevo prestashop desde cero en otra carpeta dentro de este servidor local que he montado, ya puestos voy a instalar la versión 8 en esa nueva ubicación y probar. Y paralelamente voy a instalarme XAMPP en mi equipo Windows y tratar de clonar ahi la web. 

Ya te cuento por aquí la evolución. Muchas gracias e hidrátate!! Descansa cuando puedas... si eres autónomo como yo.. a veces es complicado, lo sé por experiencia pero realmente hay que buscar la manera..

Miguel

Link to comment
Share on other sites

Hola @MAPH25 Has probado montando un servidor con AApanel bajo tu Ubuntu server? Es gratis y muy fácil de usar (o eso creo). Si quieres, estoy por aquí para echarte una mano. Yo descartaria usar Windows para montar el servidor, a la larga sólo trae problemas, lo digo por experiencia.

AApanel. <<<<<<<<<<

Link to comment
Share on other sites

7 minutes ago, Neothegod said:

Hola @MAPH25 Has probado montando un servidor con AApanel bajo tu Ubuntu server? Es gratis y muy fácil de usar (o eso creo). Si quieres, estoy por aquí para echarte una mano. Yo descartaria usar Windows para montar el servidor, a la larga sólo trae problemas, lo digo por experiencia.

AApanel. <<<<<<<<<<

Muchas gracias Neo! la verdad es que no conozco esta solución de AApanel, ahora estoy tal y como le comentaba a Yelish, con la opción de probar XAMPP en Windows y directamente a hacer una instalación limpia de Prestashop en otra ubicación dentro del servidor ubuntu. Mi tercera opción será montar el XAMPP en ubuntu también porque efectivamente soy consciente de que Windows no es el mejor de los sistemas... 

Muchas gracias y ya iré comentando los resultados por aquí para que más personas que se encuentren con estas situaciones puedan encontrar soluciones y así yo también poder aportar algo. 

Un saludo!

Link to comment
Share on other sites

8 minutes ago, MAPH25 said:

Muchas gracias Neo! la verdad es que no conozco esta solución de AApanel, ahora estoy tal y como le comentaba a Yelish, con la opción de probar XAMPP en Windows y directamente a hacer una instalación limpia de Prestashop en otra ubicación dentro del servidor ubuntu. Mi tercera opción será montar el XAMPP en ubuntu también porque efectivamente soy consciente de que Windows no es el mejor de los sistemas... 

Muchas gracias y ya iré comentando los resultados por aquí para que más personas que se encuentren con estas situaciones puedan encontrar soluciones y así yo también poder aportar algo. 

Un saludo!

No pierdas tiempo, AApanel directamente 😂 

Copias de seguridad automáticas, instalaciones con 1 click, acceso SSH al servidor desde el panel, cortafuegos.., tiene infinidad de ventajas frente a XAMP (Ya sea windows o Linux)

EDITO: Vale, he visto que sólo sería para pruebas y no para producción real.., entonces Windows te sirve.

AApanel para producción y prescindir de ese VPS. Cualquier ordenador de 300€ y buena conexión a internet a la larga saldrá más económico.

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

12 minutes ago, Neothegod said:

No pierdas tiempo, AApanel directamente 😂 

Copias de seguridad automáticas, instalaciones con 1 click, acceso SSH al servidor desde el panel, cortafuegos.., tiene infinidad de ventajas frente a XAMP (Ya sea windows o Linux)

EDITO: Vale, he visto que sólo sería para pruebas y no para producción real.., entonces Windows te sirve.

AApanel para producción y prescindir de ese VPS. Cualquier ordenador de 300€ y buena conexión a internet a la larga saldrá más económico.

Tomo nota, le echo un look a fondo al AApanel porque lo que busco a corto - medio plazo es poder prescindir de ese VPS y si es posible, viable y factible ... servir nosotros mismos.. más que nada porque cuando surge un problema.. somos nosotros quienes podemos atenderlo sobre la marcha y no estar horas pendientes de un servicio 24/7 que no siempre responde.. 

Seguimos en contacto. Mil gracias una vez más

Miguel

  • Like 1
Link to comment
Share on other sites

No me has comentado nada. Cuando hagas una instalación en windows o Linux con Xampp o lo que quieras, ya me comentas algo. Es fácil y podrás hacer instalaciones de las nuevas versiones PrestaShop 8 que aumentan significativamente la velocidad, sobre todo de proceso. Un saludo.

  • Like 1
Link to comment
Share on other sites

1 minute ago, Yelish said:

No me has comentado nada. Cuando hagas una instalación en windows o Linux con Xampp o lo que quieras, ya me comentas algo. Es fácil y podrás hacer instalaciones de las nuevas versiones PrestaShop 8 que aumentan significativamente la velocidad, sobre todo de proceso. Un saludo.

Estoy en ello.. ya tengo el XAMPP instalado en W10 para migrar la tienda tal cual lo había hecho pero me ha dado unos errores y creo que es por el PHP8 del XAMPP, estoy ahora en el proceso de que XAMPP use PHP7.3 que se supone es la máxima soportada por la versión de Prestashop que tengo en producción ahora mismo (1.7.7.2). Por otro lado pienso instalar prestashop 8 en el servidor linux (donde tengo el problema del localhost rechazando conexión) y tratar de asumir la base de datos de la tienda en producción  a ver qué tal.. 

Te por seguro que te contaré, no he querido dar la vara ante el problema con el XAMPP pues creo que viene del PHP8

Gracias!

Link to comment
Share on other sites

Jajaja. No pasa nada. Te comento, actualmente tengo un servidor de pruebas bajo versión 8.0.4 hasta que implementen definitivamente para el público la 8.1.0 en una versión de Xampp 7.4.3.3 para windows (versión php) y rula sin problemas. Es por comodidad, porque así tengo las versiones 8 y 1.7 en el mismo server local. La única apreciación que tengo es que la versión 8 es significativamente más rápida que la 1.7.8.8 pero a efectos de compatibilidad da igual, es más rápida sobre todo a nivel de Ajax. Un saludo.

  • Like 1
Link to comment
Share on other sites

En otro orden de cosas, y disculpa, que lo olvidé veo la versión 8 mucho peor a nivel de detección de errores, si eres programador y tal, normalmente hago debug de los módulos en 1.7.8.8. o 1.6.1.24 según la versión del módulo.

Link to comment
Share on other sites

36 minutes ago, Yelish said:

En otro orden de cosas, y disculpa, que lo olvidé veo la versión 8 mucho peor a nivel de detección de errores, si eres programador y tal, normalmente hago debug de los módulos en 1.7.8.8. o 1.6.1.24 según la versión del módulo.

No soy programador..  digamos que me defiendo, pero no llego al nivel de programación.. simplemente trato de controlar lo elemental para el mantenimiento de nuestro servidor y tienda on-line para cuando llegan los batacazos poder reaccionar lo antes posible tal y como he comentado anteriormente. 

Mi primer intento de hacer rular PHP 7.3 en la versión de XAMPP recientemente instalada (la última versión) ha salido mal.. pero no me rindo.. sigo con ello.. 

Seguimos en contacto!

Link to comment
Share on other sites

On 7/10/2023 at 2:51 PM, Yelish said:

7.4.3.3 me rula a mi bastante bien. xampp-windows-x64-7.4.33-0-VC15 Saludos.

Hola @Yelish, tal y como hablamos.. comento avances.. o más bien.. movimientos.... 

He instalado XAMMP en Windows 10. He instalado la versión xampp-windows-x64-7.3.33-0-VC15 para asegurarme que la versión de php que me instale sea compatible con el Prestashop 1.7.7.2 y según Prestashop la 7.3 es la más reciente compatible con mi versión, por eso he ido a por esta. 

Todo ok, Apache rulando, Mysql igualmente, Base de datos creada y respaldada y con acceso y gestión dese phpmyadmin, sí es cierto que para respaldarla he tenido que ir por consola y realizar el respaldo desde la línea de comandos porque nuestra base de datos es grande (más de 400MB) y phpmyadmin aunque le he cambiado los límites siempre lanza algún error. Por consola esta operación la realizo sin problemas. 

Una vez volcado el contenido de la tienda on-line dentro de una carpeta específica , concretamente en:  'c:/Xampp/htdocs/tiendalolocal/' y tras poder comprobar el info.php por ejemplo, con todo ok.. cuando trato de acceder a la tienda me da error HTTP 500 .. me he cargado el '.htaccess' y nada.. 

Voy al plan B: instalar Prestashop 8 en el servidor ubuntu que tengo listo y luego optaré por el plan C recomendado por @Neothegod sobre montar AApanel en el equipo que he usado para montar el ubuntu server... 

Hay algo que se me escapa al hacer la operación de clonar el contenido on-line a local, pues el error solamente me aparece cuando intento acceder a la tienda clonada en local y como XAMPP me está mostrando el mismo problema.. y básicamente mismo resultado.. el error debe de estar en algún archivo que me está haciendo la puñeta.. 

pero no me rindo.. 

Je je

Link to comment
Share on other sites

On 7/10/2023 at 2:51 PM, Yelish said:

7.4.3.3 me rula a mi bastante bien. xampp-windows-x64-7.4.33-0-VC15 Saludos.

Hola @Yelish tal y como te comenté, pasé al plan B y he instalado Prestashop 8 con éxtio en el servidor ubuntu. Lo único es que al tratar de pedirle que usara la base de datos respaldada de la tienda en producción me obliga a borrar las tablas y claro.. el Presatshop 8 está vacío. Ahora estoy investigando como importar los productos, etc desde el 1.7.7.2 a este nuevo 8.. 

Por otro lado y durante la instalación desde 0 y analizando en detalle los datos sensibles de la base de datos del PS8, la nueva base vacía que el PS8 configura durante la instalación, advertí unos detalles que yo había interpretado mal constantemente y por ello obtenía el ERR_CONNECTION_REFUSED, he logrado acceder al back office en el servidor local !!!! EUREKA!!! . Lo que no veo es el front office, me sigue mostrando el ERR_CONNECTION_REFUSED, pero creo que daré con el motivo indagando .. He probado desactivando y reactivando las URL amigables pero nada... aunque he leído tanto, hecho y deshecho y rehecho que ya no sé... 

Por cierto finalmente he logrado acceder cambiando el PS_SHOP_DOMAIN Y PS_SHOP_DOMAIN_SSL por la IP del servidor. De igual manera la PS_SHOP_URL la IP y en fisic uri '/' (en muchos sitios había visto que se debía poner la ruta al root, pero en mi caso no es así) y en el 'parameter.php' he usado 'localhost', user 'root' y pssw de root.. creo que el problema principal radicaba en que el usuario que estaba utilizando no tenía privilegios suficientes para la base de datos de cara al acceso de prestashop aunque me permitise control desde la terminal, phpmyadmin... etc.. 

Bueno, hoy voy a dejarlo aquí, mañana sigo averiguando por qué no me muestra el front.. pero el gran escollo creo que lo he sorteado

Gracias de nuevo

Miguel

Link to comment
Share on other sites

17 hours ago, MAPH25 said:

Hola @Yelish tal y como te comenté, pasé al plan B y he instalado Prestashop 8 con éxtio en el servidor ubuntu. Lo único es que al tratar de pedirle que usara la base de datos respaldada de la tienda en producción me obliga a borrar las tablas y claro.. el Presatshop 8 está vacío. Ahora estoy investigando como importar los productos, etc desde el 1.7.7.2 a este nuevo 8.. 

Por otro lado y durante la instalación desde 0 y analizando en detalle los datos sensibles de la base de datos del PS8, la nueva base vacía que el PS8 configura durante la instalación, advertí unos detalles que yo había interpretado mal constantemente y por ello obtenía el ERR_CONNECTION_REFUSED, he logrado acceder al back office en el servidor local !!!! EUREKA!!! . Lo que no veo es el front office, me sigue mostrando el ERR_CONNECTION_REFUSED, pero creo que daré con el motivo indagando .. He probado desactivando y reactivando las URL amigables pero nada... aunque he leído tanto, hecho y deshecho y rehecho que ya no sé... 

Por cierto finalmente he logrado acceder cambiando el PS_SHOP_DOMAIN Y PS_SHOP_DOMAIN_SSL por la IP del servidor. De igual manera la PS_SHOP_URL la IP y en fisic uri '/' (en muchos sitios había visto que se debía poner la ruta al root, pero en mi caso no es así) y en el 'parameter.php' he usado 'localhost', user 'root' y pssw de root.. creo que el problema principal radicaba en que el usuario que estaba utilizando no tenía privilegios suficientes para la base de datos de cara al acceso de prestashop aunque me permitise control desde la terminal, phpmyadmin... etc.. 

Bueno, hoy voy a dejarlo aquí, mañana sigo averiguando por qué no me muestra el front.. pero el gran escollo creo que lo he sorteado

Gracias de nuevo

Miguel

Buenos días.. tras borrar la caché he logrado acceder al front.. seguimos trabajando ahora  con el siguiente plan:

1. Estudiar la opción de actualizar a Prestashop 8 desde la 1.7.7 o tratar de importar al PS8 que he instalado en limpio, todos los productos, clientes, etc..  

2. Solucionar mis errores de conexión en Xampp y valorar mejor esta opción @Yelish

3. Probar la opción de AAPanel recomendada por @Neothegod 

Tengo para rato.. les iré contando.. muchas gracias a todos los que me habéis ayudado aportando ideas, opciones, consejos. Han sido de gran ayuda para mí y espero que para otras personas que hayan tenido estos problemas. En ese agradecimiento no olvido tampoco a @Hue2

Estamos en contacto

miguel

Link to comment
Share on other sites

5 hours ago, MAPH25 said:

Buenos días.. tras borrar la caché he logrado acceder al front.. seguimos trabajando ahora  con el siguiente plan:

1. Estudiar la opción de actualizar a Prestashop 8 desde la 1.7.7 o tratar de importar al PS8 que he instalado en limpio, todos los productos, clientes, etc..  

2. Solucionar mis errores de conexión en Xampp y valorar mejor esta opción @Yelish

3. Probar la opción de AAPanel recomendada por @Neothegod 

Tengo para rato.. les iré contando.. muchas gracias a todos los que me habéis ayudado aportando ideas, opciones, consejos. Han sido de gran ayuda para mí y espero que para otras personas que hayan tenido estos problemas. En ese agradecimiento no olvido tampoco a @Hue2

Estamos en contacto

miguel

Hola de nuevo.. funcionando XAMPP: valor 'localhost' para domain y domain SSL en 'PS_SHOP_URL' y para physical_uri  '/tiendalocal/' en mi caso. Y valor 'localhost' para 'PS_SHOP_DOMAIN' y 'PS_SHOP_DOMAIN_SSL' en PS_CONFIGURARION. 'localhost' también en el 'parameters.php' y el usuario de la base de datos 'root'. 

Una vez borras la caché, activas y desactivas las URLs amigables.. accedo sin problema al front.  

Ahora toca trabajar en la actualización.. 

Link to comment
Share on other sites

Hola de nuevo a todos! 

Siguiendo mi batalla en el servidor ubuntu local y tras haber logrado hacer funcionar mi tienda clonada,  he actualizado desde la versión 1.7.7.2 a la 1.7.8.9 con el módulo 1-Click Upgrade. El primer intento me dio un error y creí que se iba todo al garete pero reinicié el servidor y lo he ejecutado de nuevo con éxito. Ha llevado lo suyo pero aparentemente parece que todo va bien. Toca ahora trastear en el front office para evaluar que todo funciona correctamente. 

Tal y como me imaginaba no se puede hacer lo mismo para pasar de la 1.7.8.9 al Prestashop 8, así que a seguir indagando cómo y de qué manera se puede hacer esta actualización o cómo puede asumir PS8 toda la información de la 1.7.8.9. (productos, imágenes, clientes, etc)... 

Un saludo y seguimos tabajando. 

Miguel

Link to comment
Share on other sites

Hola Miguel

Me alegro que todo se solucionara, siento la ausencia, entre en mi etapa de vacaciones y desconecte bastante, Prestashop 8 tiene muchos cambios a tener en cuenta a nivel de código, esto afecta fácilmente con cualquier migración, partiendo que trabaja (versión recomendada) con php 8.1 muchos "deprecated" ya no son soportados y esto afecta a muchos módulos que no han actualizado a sus funciones con php. Dicho esto antes de irme de vacaciones estaba trabajando con un prestashop 8.1.0 y el cambio pasa por muchos Fix, he estado trabajando en compatibilizar un tema que supuestamente era compatible con PrestaShop 8.0 (engaño total).

En fin, un saludo y seguimos en contacto

  • Like 1
Link to comment
Share on other sites

45 minutes ago, Hue2 said:

Hola Miguel

Me alegro que todo se solucionara, siento la ausencia, entre en mi etapa de vacaciones y desconecte bastante, Prestashop 8 tiene muchos cambios a tener en cuenta a nivel de código, esto afecta fácilmente con cualquier migración, partiendo que trabaja (versión recomendada) con php 8.1 muchos "deprecated" ya no son soportados y esto afecta a muchos módulos que no han actualizado a sus funciones con php. Dicho esto antes de irme de vacaciones estaba trabajando con un prestashop 8.1.0 y el cambio pasa por muchos Fix, he estado trabajando en compatibilizar un tema que supuestamente era compatible con PrestaShop 8.0 (engaño total).

En fin, un saludo y seguimos en contacto

Gracias por pasarte @Hue2!!.. imagino que el salto al 8 ha de ser una locura.. yo lo tengo instalado en el propio servidor, en una ubicación diferente, pero en limpio... je.

Desconectar es importante!! y las vacaciones son vitales!!. 

Seguimos en el lío!

 

Edited by MAPH25 (see edit history)
  • Like 1
Link to comment
Share on other sites

Hola, qué tal, cómo lo llevas. El salto a 8 es muy fácil, si tienes una versión previa de PrestaShop 1.7.8.8 o 1.7.8.9 estable, no es una locura, de hecho, el otro día un cliente le dijeron que debía pasar de 1.6 a 8 en el hosting, y le dije, eso sí que es una locura. Se puede hacer, porque las diferencias son mínimas siempre y cuando mantengas una versión de Php alta tipo 1.7.4 o superior, también es importante el control de módulos (nadie habla de los módulos). Los módulos nadie los actualiza, y dan los mayores problemas a la hora de actualizar versiones de PrestaShop. Hace poco una tienda de juegos de mesa me comentó que no podía actualizar porque un módulo le daba problemas, actualizar es esencial. Si al actualizar no es posible la conversión es culpa del desarrollador, sino es tuya. Me alegro por tu éxito. Con el Xampp podrías haberlo conseguido, pero bueno, cada uno su afán, como se suele decir. Me he divertido mucho hablando contigo. Se te ve emprendedor. Disculpa por no haber entrado estos últimos días, estaba liado con el lanzamiento del nuevo módulo. Un saludo y que te vaya genial.

  • Like 1
Link to comment
Share on other sites

Gracias @Yelish!!.. al final solventé el problemilla con el Xampp y logré igualmente acceder tanto al back-office como al front..  y lo tengo en mi lista de plan B ! Porque ahora estoy concentrado en el plan A que es lo más calcado al servidor VPS que tenemos contratado para la tienda en producción. 

En el Plan A he actualizado a 1.7.8.9 y ahora estoy desde la instalación del 8.1.0 (donde tengo PHP 8.0.norecuerdo) indagando para traer toda la info de la 1.7.8.9.. estoy estudiando el script que me han recomendado en el foro, el copy_shopdata que depende del Prestools_Suite por lo que he podido entender.. 

Yo también me alegro mucho de nuestras conversaciones, me han sido de gran ayuda, tanto de tus aportes como los del resto!! . No te disculpes por no haber comentado nada hasta ahora, faltaría más. 

Gracias de nuevo a todos y seguiré añadiendo mis avances o fracasos por aquí para aportar algo y que más usuarios puedan servirse de esto para solventar sus propios baches...

Miguel

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...