Clonar PrestaShop 1.7 a Otra Carpeta del Hosting (Manualmente a Través de cPanel)

PrestaShop 1.7 Clonar a Otra Carpeta

Siempre viene bien tener a mano una versión clonada de nuestra instalación original de PrestaShop 1.7, donde poder hacer “pruebas” sin tener que tocar nada de nada en la tienda original. De esta forma, en caso de que hubiera algún problema con las pruebas, la tienda original no se vería afectada, por lo que este “clon” supondría un gran respaldo.

Estaría bien que la herramienta auto-instaladora “Softaculous” ayudara con este tema, pero parece que PrestaShop 1.7 no le gusta tanto como otros gestores de contenidos (WordPress). Si bien se puede instalar fácilmente PrestaShop 1.7, luego ya no le podemos pedir que nos lo actualice correctamente o nos lo clone si hemos hecho algún cambio, ya que suele fallar… y esto no nos deja más remedio que crear este artículo, pero antes de meterte en semejante «jaleo» prueba con hacer el clon con Softaculous, ya que te ahorra muchísimo tiempo. Si la cosa se tuerce siempre puedes seguir el siguiente tutorial:

Cómo Clonar PrestaShop 1.7 a Otra Carpeta del Hosting

Acceso a cPanel ¡Indispensable!

Para realizar el proceso va a ser dispensable acceder a cPanel, por lo que te recordamos que puedes acceder a dicho panel de control desde tu área de cliente; vía “Mis productos”, haciendo click sobre los 3 puntitos de la derecha que correspondan a tu Hosting Linux.

cPanel – Administrador de Archivos

Una vez dentro de cPanel, podrás ver como este panel se divide en varios bloques, tienes que hacer click sobre la opción Administrador de Archivos que aparece en el primer bloque (Archivos).

A continuación, se mostrará toda la estructura de carpetas que forman tu hosting. Aquí debes localizar la carpeta que contiene la instalación de PrestaShop 1.7 (suele ser /public_html si la instalación está realizada en la raíz) y darle a la opción de “Seleccione Todo”, ubicada en la barra superior del administrador de archivos, pero antes de eso…

cPanel seleccione todo

debes asegurarte que tienes marcada en el hosting la opción de mostrar los ficheros ocultos en la parte superior derecha, donde pone “Configuración”; desde allí debes revisar si tienes seleccionada la opción «Mostrar ficheros ocultos (dotfiles)». Si no se muestran los ficheros ocultos, archivos muy importantes como, por ejemplo .htaccess no se copiarían al realizar el proceso de duplicidad de contenidos.

cpanel dotfiles

Ahora, puedes seguir en donde lo dejamos antes tras darle a “Seleccine Todo (1)”. Después, pulsa en “Copiar (2)”. En la nueva ventana, escribe la ruta donde se van a copiar los archivos, por ejemplo, public_html/clon (3) y le das al botón de “Copy Files (4)”.

PrestaShop 1.7 Copiar Ficheros cPanel

Dependiendo del volumen de ficheros a copiar el proceso puede tardar más o menos, pero una vez acabe debes acceder a la carpeta clon (2) y comprobar por encima si esta todo ok, así como el archivo .htaccess (3) / Para ello puedes hacer click en “Un nivel arriba (1)” para visualizar la carpeta /public_html de nuevo y poder localizar la carpeta clon (2) creada previamente. Como decimos lo más recomendado es acceder a dicha carpeta clon para verificar que están todos los contenidos copiados correctamente.

PrestaShop 1.7 Carpeta Clon cPanel

A veces si el volumen es muy grande suele dar problemas el copiar los ficheros con cPanel o incluso hay carpetas que NO se copian, así que la opción más rápida y sencilla que se nos ocurre es que una vez selecciones el contenido, en vez de copiarlo a la carpeta clon como hemos explicado, le des arriba del todo a la derecha a “Comprimir”, y después a “Extraer” en la ruta /public_html/clon. Así te olvidas de que pueda haber archivos que no se copien bien.

PrestaShop 1.7 Extraer Comprimir

extraer clon

Por cierto, una vez tengas todos los archivos en la carpeta /clon, el archivo .htaccess tendrás que editarlo para revisar las rutas, ya que estarán mal. Para ello haz click sobre el archivo con el botón derecho del ratón y pulsar en la opción “Edit” para añadir lo siguiente: en la barra superior «clon/» (sin las comillas) en RewriteRule . – [E=REWRITEBASE:/clon/] y en la barra inferior «/clon» (sin las comillas) en ErrorDocument 404 /clon/index.php?controller=404. Esto serviría para corregir las rutas del clon en el archivo .htaccess

PrestaShop 1.7 .htaccess clon rutas

Nueva Base de Datos

Copiados los ficheros te tocara embarcarte en la creación de nueva base de datos sobre la que copiar el contenido de la base de datos original. Al igual que el copiado de archivos, el tema de la nueva base de datos también se hace desde cPanel. Aunque recomendamos hacerlo desde el panel de cliente de Hostinet que es más sencillo y en tan solo son 4 pasos.

Si optas por seguir con cPanel, en el segundo bloque (Bases de datos), debes hacer click en “MySQL® Databases.”

En esta nueva página, la primera opción que da ya es la de crear una base de datos, así pues, introduce el nombre que quieras darle a la base de datos y haz click en “Crear una base de datos”.

IMPORTANTE: Anota el nombre de la bases de datos, por ejemplo, xx_prestashop17 (luego te hará falta)

Sin embargo, solo creando la base de datos no es suficiente. También tienes que crear un usuario y darle permisos. Esto lo puedes hacer por la parte de abajo de la página que estabas antes.

Escribe el nombre de usuario que quieras (recomendamos ponerle el mismo nombre que el de la base de datos o similar abreviado), establece una contraseña para el usuario y, por último, pincha en “Crear usuario”. En lo que respecta a la contraseña puedes hacer uso del generador automático de la derecha.

IMPORTANTE: Anota estos otro datos, por ejemplo, xx_ps17 para el usuario de la base de datos y su correspondiente contraseña (luego te harán falta)

Ahora, tendrás que asociar este usuario con la base de datos que creaste al principio. Esto se hace justo abajo del todo de la página en la que estabas con la opción de “Añadir”.

Al hacerlo, iras a parar a una nueva página en la que debes marcar la casilla de “TODOS LOS PRIVILEGIOS” y, acto seguido, pinchar abajo en donde pone “Hacer cambios”.

Con esto habrás creado una nueva base de datos para poder utilizar con tu tienda clon, pero a esta base de datos tendrás que pasarle la información de la instalación original de PrestaShop 1.7

Exportar e Importar Base de Datos

Al lado de donde acabas de crear la nueva base de datos, dentro de cPanel, en el bloque de BASES DE DATOS, se halla el software phpMyAdmin.

Tan solo debes buscar la base de datos que pertenece a tu instalación original de PrestaShop 1.7.

Si solo tienes PrestaShop 1.7 en el alojamiento solo te aparecerá una base de datos (como en nuestra imagen de abajo), por lo que no tendrás que preocuparte demasiado por encontrala, pero si tienes otras instalaciones entonces si tendrás que seleccionar la correcta, es decir, la que pertenezca a PrestaShop 1.7.

Click en expandir/colapsar (icono +) sobre tu nombre de usuario del alojamiento web para que se listen todas las bases de datos.

Localizada la que pertenece a tu instalación de PrestaShop, haz click sobre la misma. Por ejemplo, nosotros tenemos ahora un phpmyadmin con 3 bases de datos, pero la de PrestaShop es la de ps17.

Exportar la Base de Datos

Ahora, en la ventana de la derecha, verás todas las tablas que forman esta base de datos, así como algunos ajustes relacionados según la tabla que escojas. Aquí lo único que tienes que hacer es pinchar sobre el botón de “Exportar”, ubicado en la parte superior (zona central).

Tras ello, irás a parar a una nueva página con los detalles sobre la exportación. Ofrece dos posibilidades:

Tienes que dejarlo como viene por defecto, es decir, con la primera opción y en el desplegable mantener SQL. Comprueba que tienes esos datos puestos y dale al botón de Continuar.

Al darle al botón de Continuar se empezará a descargar en tu disco duro un archivo .sql con el nombre de tu base de datos -este archivo contiene una copia de seguridad total de la base de datos de tu tienda original-.

Importar la Base de Datos

En principio, la exportación de la base de datos se ha tenido que realizar con éxito a tu disco duro y no debería estar corrupta.

El caso es que el proceso a realizar para importar la base de datos a la nueva base de datos que has creado sería similar al que has realizado previamente, aunque en esta ocasión, dentro de la base de datos de PrestaShop 1.7; donde se cargaron las tablas antes, tendrías que hacer click en “Importar” en vez de en “Exportar”. Y todo ello tras seleccionar la nueva base de datos que creaste. Podrás comprobar que es una NUEVA base de datos porque no NO TENDRÁ ningún tipo de información; estará en blanco como se puede ver en la siguiente imagen “No se han encontrado tablas en la base de datos”:

phpmyadmin importar bbdd

En la nueva página de importación bastaría con darle al botón “Seleccionar archivo” para buscar en tu disco duro la base de datos que exportaste y subirla así a la nueva base de datos que creaste. No te olvides de darle al botón “Continuar”.

phpmyadmin importar bbdd seleccionar

Archivo parameters.php

Ahora, dirígete de nuevo al Administrador de Archivos de cPanel para acceder a la siguiente ruta de la instalación de tu clon: public_html/clon/app/config/parameters.php. Allí debes editar el archivo parameters.php para introducir los valores de la nueva base de datos que creaste y que antes te dijimos que anotaras. Haz click con el botón derecho del ratón sobre el archivo en cuestión y marca la opción “Edit” para poder editarlo.

PrestaShop 1.7 Clon Parameters

Dentro de parameters.php debes cambiar estos 3 parámetros:

    ‘database_name’ => ‘nombre de la nueva base de datos’,

    ‘database_user’ => ‘usuario de la nueva base de datos’,

    ‘database_password’ => ‘contraseña del usuario de la nueva base de datos’,

PrestaShop 1.7 Clon Parameters database

Una vez modificados tendrás que guardar los cambios del archivo parameters.php pinchando sobre su correspondiente botón en la parte superior derecha.

Cambiar la ruta del clon en la nueva base de datos

Una vez más dirígete a la sección de bases de datos de cPanel y haz click en phpMyAdmin. Localiza la nueva base de datos a la cual importantes el contenido de la base de datos original y entre sus tablas encuentra la tabla «xx_configuration» y cambia las urls de las siguientes filas «XX_SHOP_DOMAIN» y «XX_SHOP_DOMAIN_SSL»; de “midominio.info” por la ruta de tu tienda clon, por ejemplo: midominio.info/clon (midominio.info deberás sustituirlo por el nombre de tu dominio)

Para ello, en el buscador de la base de datos, puedes escribir la palabra “configuration” y, después, filtrar las tablas con la palabra “XX_SHOP_DOMAIN”, tal y como resaltamos en esta captura de pantalla (si no te sale «XX_SHOP_DOMAIN» y «XX_SHOP_DOMAIN_SSL»  amplia el número de filas a mostrar en la tabla xx_configuration):

Para hacer el cambio tan solo debes hacer doble click sobre el valor “midominio.info” que ponga en el campo value. Debes borrar el valor “midominio.info” y escribir la ruta que correspondiente a tu tienda clon, por ejemplo, midominio.info/clon (midominio.info deberás sustituirlo por el nombre de tu dominio)

Después, dirígete a la tabla «xx_shop_url» y en el campo «physical_uri» escribe lo siguiente: /clon/ (para acceder rápidamente a esa tabla puedes teclear “shop_url” en el buscador de la izquierda).

PrestaShop 1.7 physical_uri

A tener en cuenta:

 El prefijo de las tablas puede variar. En vez de “ps_” es posible que dispongas de otro prefijo diferente, por eso en el tutorial si te has dado cuenta a la hora de buscar las tablas que necesitamos ponemos el prefijo “xx”.

¿Y eso es todo?

Lamentablemente eso no es todo… si ahora vas a comprobar tu clon es posible que sus estilos salgan descuadrados, se presente algún error 404 en enlaces de tu tienda clon o algún enlace no funcione sobre la ruta que debería, por lo que lo mejor es regenerar el archivo .htaccess para que se regeneren de nuevo todos los enlaces.

Cómo regenerar el archivo .htaccess & borrar la caché

Para solucionar lo comentado con anterioridad, desde el panel de administración de tu PrestaShop 1.7 (Backoffice), dirígete Preferencias (1) -> SEO y URLs (2) y, sin modificar nada en “Configuración de URLs”, haz click en Guardar (3), tal que así:

Los credenciales de acceso a tu tienda clon serán los mismos que los de la tienda original, ya que para eso es un clon. Lo único que tendrás que añadir es después del /clon el nombre de la carpeta que corresponda a tu panel de administración, por ejemplo: /admin123, /tienda, /administración o lo que corresponda.

Lo que sí debes hacer es borrar la caché interna de PrestaShop 1.7: Parámetros Avanzados (1) -> Rendimiento (2) -> Borrar la caché (3).

También debes tener en cuenta que cuando se clona PrestaShop 1.7 o se mueve de sitio es recomendable renombrar la carpeta cache, ya que en ocasiones suele dar problemas, aunque no es lo habitual, pero lo mencionamos también para que se tenga en cuenta. Puedes renombrar esta carpeta sin problemas desde el administrador de archivos de cPanel.

Para acabar, también es recomendado borrar la caché de tu navegador, ya que PrestaShop se suele cachear bastante. Es por ello por lo que recomendamos usar un navegador anti-caché como Epic Browser.

¿Todavía no tienes una Tienda Online?
Con PrestaShop puedes montar una fácilmente.

Aquí tienes todas las características de los planes PrestaShop que puedes contratar en Hostinet. Todos ellos corren bajo discos sólidos (SSD) para garantizar la máxima velocidad de carga para TU Tienda Online. Además, te garantizamos una IP española para TU Tienda Online.

Hosting SSD NVMe