Saltar al contenido principal

Respaldar, empaquetar y actualizar

En Configuración → Empaquetado tienes las tres operaciones más delicadas del sistema. Léelas antes de usarlas.

Las tres operaciones

OperaciónQué haceCuándo usarla
Crear Nuevo PaqueteGenera un .zip con todo el código, la configuración, los archivos subidos y la base de datos completa.Antes de cualquier cambio grande. También para llevar el sistema a otro servidor.
RestaurarToma un paquete y reemplaza la base de datos actual por la del paquete, recupera las imágenes y reescribe las direcciones al dominio de este servidor. Las tablas que no formen parte del paquete se eliminan.Al migrar de servidor o al volver atrás después de un problema.
Restablecer de fábricaDeja el sistema como recién instalado: borra tablas y módulos creados, tablas de plugins, cualquier tabla huérfana, páginas y archivos. Conserva solo tu cuenta de superadmin y genera un respaldo antes de borrar.Solo para empezar un proyecto nuevo desde cero.

:::warning Restaurar reemplaza tus datos Restaurar un paquete borra la base de datos actual. Si tienes información que no está en ese paquete, la pierdes. Crea siempre un paquete nuevo antes de restaurar otro. :::

Los tres modos de empaquetar

Lo primero que eliges al crear un paquete es para quién es. No es un detalle de nombre: cambia lo que va dentro del .zip.

ModoQué lleva dentroPara qué sirve
Paquete propio (marcado por defecto)Absolutamente todo: código, configuración, archivos subidos y la base de datos completa, incluido el panel de licencias si lo tienes.Respaldar o mudar de servidor tu propia instalación.
Paquete de clienteTodo lo anterior menos el panel de licencias, sus tablas y las líneas del registro de actividad donde aparecen los nombres de tus otros clientes.Entregarle el sistema a un cliente.
Paquete de actualizaciónSolo el código. Sin base de datos, sin archivos subidos, sin archivos de configuración y sin el panel de licencias.Publicar una nueva versión en el Servidor de Licencias. Es el único tipo que se acepta ahí (License Server).

:::info Por qué una actualización lleva solo el código Instalar una actualización consiste en copiar todos los archivos del paquete encima de cada cliente, uno por uno. Si ese paquete llevara una base de datos, el archivo quedaría dentro de la carpeta de todos tus clientes y el instalador de cada uno le ofrecería importar los datos de otra instalación. Sus imágenes subidas se escribirían encima de las propias del cliente. Por eso una versión que se publica tiene que ser código y nada más. :::

Paquete de cliente — 4 campos extra

Si eliges Paquete de cliente se abren cuatro casillas más:

  • Dominio del cliente (cafeteria-aroma.cl).
  • Servidor de licencias (URL de tu servidor de licencias).
  • Clave de licencia (la que generaste en el panel).
  • Clave pública de la flota.

Los tres últimos los copiaste del panel de licencias (License Server). Rellénalos y el paquete sale ya configurado: el instalador en el hosting del cliente solo le pedirá los datos de la base de datos y su cuenta de administrador. También puedes dejar los tres datos de licencia vacíos: entregas una instalación sin licencia que funciona igual pero sin control central.

Entregar un sistema a un cliente, paso a paso

  1. En tu servidor de licencias, registra la instalación del cliente con su nombre y su dominio, y marca los plugins que tendrá.
  2. Copia de esa pantalla los tres valores: dirección del servidor de licencias, clave de licencia y clave pública de la flota.
  3. Ve a Configuración → Empaquetado, marca Paquete de cliente, escribe el dominio del cliente y pega los tres valores. Presiona Crear paquete.
  4. Descarga el .zip desde la lista de paquetes y súbelo al hosting del cliente, descomprimido en la carpeta de su sitio.
  5. Abre la dirección del cliente en el navegador: aparece el instalador guiado. Como el paquete ya viene configurado, solo pide dos cosas: los datos de la base de datos y la cuenta de administrador. Al terminar, el sistema queda funcionando con su licencia activa.

Ejemplo: así entregamos la Cafetería Aroma: registramos cafeteria-aroma.cl en el panel de licencias, empaquetamos en modo cliente con ese dominio y sus tres datos, y subimos el .zip a su hosting. La administradora entró, escribió los datos de su base de datos y creó su cuenta. Nunca vio el panel de licencias, ni supo que existe.

:::warning Un paquete con licencia es una credencial Un paquete de cliente que lleva los datos de licencia contiene una clave. Trátalo como una contraseña: no lo dejes en una carpeta pública del servidor ni lo mandes por canales abiertos (grupos de mensajería, enlaces sin caducidad). Al terminar de crearlo, el sistema te lo recuerda en pantalla. :::

:::info Los paquetes ya no se descargan por dirección Desde la versión 1.9.0, un paquete solo se descarga desde la lista de Empaquetado, con tu sesión de administrador abierta. Antes bastaba con acertar el nombre del archivo para bajarse la base de datos completa desde fuera; eso ya no es posible. :::

Cada parte en su propia dirección (deploy multi-host)

El sistema son tres piezas que viven en tres carpetas: el sitio público (web/), el panel de administración (cms/) y la API (api/). En tu computador de trabajo las tres se abren bajo la misma dirección y no hay nada que decidir. En un hosting de verdad, en cambio, lo normal es que el sitio público quede en la carpeta pública de la cuenta —para que el visitante escriba midominio.cl a secas, sin nada detrás— y resulta muy cómodo darle al panel su propia dirección, app.midominio.cl, y a la API la suya, miapi.midominio.cl.

midominio.cl → web/ (el sitio que ven tus visitantes)
app.midominio.cl → cms/ (el panel donde trabajas tú)
miapi.midominio.cl → api/ (el motor de datos, sin pantallas)

Es solo orden y comodidad: las tres carpetas siguen exactamente donde están, una al lado de la otra dentro del proyecto. Lo único que cambia es la dirección por la que se llega a cada una.

En el instalador

La primera pantalla del instalador te pregunta justamente esto, y viene resuelta por defecto:

OpciónCuándo se usa
Todo en esta misma carpeta (marcada)Es lo que el instalador detecta solo. Muestra las tres direcciones que va a usar. En una instalación normal no cambias nada.
Cada parte en su propia direcciónAbre tres campos —sitio público, panel y API— para que escribas la dirección de cada uno. Márcala cuando ya creaste los subdominios en tu hosting y cada uno apunta a su carpeta.

Al terminar, el instalador hace dos cosas por su cuenta:

  1. Crea los dos enlaces que los plugins necesitan para que sus pantallas, sus estilos y sus direcciones de entrada funcionen desde el panel y desde el sitio público.
  2. Le pregunta a las tres direcciones si responden. Si alguna no contesta, te lo dice con nombre y apellido antes de que te vayas de la pantalla.

:::tip El error más común, cazado en el minuto uno Apuntar un subdominio a la carpeta equivocada —el panel a la raíz del proyecto, o la API a cms/— es, de lejos, la equivocación que más se repite al montar el sistema en un hosting. No da ningún error al instalar: aparece días después como "no carga nada" o "el sitio público se quedó sin datos". Por eso el instalador prueba las tres direcciones al final y te dice cuál falló, cuando todavía tienes la pestaña del hosting abierta. :::

:::info Si tu hosting no permite crear enlaces Algunos hostings económicos no dejan crear enlaces entre carpetas. Si el instalador te avisa de eso, hay una salida sencilla: apunta el subdominio del panel a la raíz del proyecto en vez de a la carpeta cms/. El panel queda entonces en app.midominio.cl/cms/ — una dirección un poco más larga, nada más — y así no hace falta ningún enlace. :::

Instalar un paquete recibido

En Configuración → Empaquetado → Restaurar / Migrar desde un paquete:

  1. Sube el paquete .zip.
  2. Confirma. El sistema:
    • Extrae los archivos.
    • Importa la base de datos.
    • Copia los archivos subidos.
    • Reescribe el dominio en todas las URLs (si tu paquete apuntaba a desarrollo.local, ahora apuntará a misitio.com).

Dos candados que el sistema pone por ti

Hay dos maniobras que parecen inofensivas y en realidad harían un desastre difícil de deshacer. El sistema las reconoce solo y las rechaza explicándote por qué. Ver License Server → Dos candados.

¿Qué sigue?