Respaldar, empaquetar y actualizar
En Configuración → Empaquetado tienes las tres operaciones más delicadas del sistema. Léelas antes de usarlas.
La sección se concede como cualquier otra en Roles y Permisos: un rol con acceso puede crear paquetes y descargarlos, que es lo que necesita quien hace los respaldos. Restaurar la plataforma —que reemplaza la base de datos entera— y Restablecer de fábrica siguen siendo del superadmin y de nadie más, se conceda lo que se conceda.
Las tres operaciones
| Operación | Qué hace | Cuándo usarla |
|---|---|---|
| Crear Nuevo Paquete | Genera 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. |
| Restaurar | Toma 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, salvo el registro de la flota si tienes el panel de licencias: ése no se lo lleva ninguna restauración. | Al migrar de servidor o al volver atrás después de un problema. |
| Restablecer de fábrica | Deja 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. |
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.
Qué conserva el restablecimiento de fábrica
Se lleva lo que construiste tú: los módulos y sus tablas, las páginas que creaste, los archivos subidos y todas las cuentas menos la tuya.
Cuando termina, en la base de datos quedan sólo las tablas del sistema —tu cuenta, las secciones, los módulos, los archivos, la bitácora y la configuración— y ni una sola tabla de módulo. En el disco queda sólo lo que trae el sistema: ni una imagen subida, ni un archivo del sitio anterior, ni una clave de un módulo. Si algo se quedara ahí ya no habría nada en el panel que lo mostrara, pero seguiría descargándose por su dirección.
Después de restablecer, Configuración → Módulos queda vacía y el sitio público queda en blanco: una página sin nada, sin menú arriba y sin pie abajo. Si ves algo del proyecto anterior en cualquiera de las dos, avísanos.
Del sitio público se lleva todo lo que sea de tu proyecto: las páginas del editor visual, el encabezado y el pie, los estilos y el guion del sitio, la carpeta con el logo, las fuentes y las fotos de la marca, el mapa del sitio generado y cualquier archivo a medida que se haya agregado. Queda sólo lo que trae el sistema.
Es a propósito: el encabezado y el pie llevan el logo, el teléfono y el copyright, y la carpeta de marca lleva el resto. Dejar cualquiera de esas cosas entregaba el proyecto siguiente vistiendo al cliente anterior.
Y en su lugar, el sitio queda en blanco
Borrar no es lo mismo que dejar en blanco, y el restablecimiento hace las dos cosas: después de llevarse lo del proyecto anterior deja puestas tres piezas vacías —un encabezado vacío, un pie vacío y una portada vacía—.
Así queda el sitio realmente en blanco: quien entre a tu dirección ve una página sin nada, que es lo que corresponde a un proyecto que todavía no empieza.
Sin esas tres piezas el sitio no queda vacío: vuelve a mostrar el menú oscuro y el pie negro que trae el sistema, y en la portada aparece una página de ejemplo en inglés —"Welcome to My Website"— con tres tarjetas de demostración. Quien acababa de restablecer para empezar de cero se encontraba con eso.
Las tres se editan desde Configuración → Páginas Web: la portada se llama inicio y ya está en la lista, y el encabezado y el pie están en los botones Header y Footer. Abre cualquiera y empieza a armarlo.
También se borra la configuración propia de cada módulo —las claves de Payku, la contraseña del correo, la cuenta de Google Drive que conectaste— y las bitácoras del proyecto anterior. Cada módulo vuelve a sus valores de fábrica. Tu web/config.php no se toca: ahí están los datos de la base y la dirección de este servidor, y borrarlo no devolvería el sitio a fábrica, lo dejaría fuera de línea.
No toca las pantallas que trae el sistema. Configuración → Correo, Apariencia, Empaquetado, Roles y Permisos vuelven solas después del restablecimiento, porque son parte del programa y no de tu proyecto.
Los roles que definiste se quedan. Restablecer no toca Roles y Permisos: los roles que creaste, con las casillas que les marcaste, siguen ahí. Lo único que cambia es que las secciones que se borraron dejan de estar marcadas, y el rol Administrador vuelve a tener concedido todo lo que el sistema repone.
Restablecer borra datos y archivos de tu proyecto, nunca el programa. Los módulos siguen instalados en el servidor, completos: lo que desaparece es su entrada en el menú, y se repone desde Agregar Sección → Tipo: Plugin.
Con los plugins pasa algo distinto y conviene saberlo antes: sus pantallas desaparecen del menú lateral. El módulo no se desinstala —su programa sigue completo en el servidor—, pero la entrada del menú se borra junto con el resto, igual que en una instalación recién hecha, que tampoco trae ninguna.
Para volver a tenerlas: Agregar Sección → en Tipo elige Plugin → aparece la lista de los módulos que no están en tu menú, y eliges el que quieras. Ojo con ese paso: el selector de módulos no se ve hasta que eliges Tipo = Plugin.
Sus datos sí se borran, eso es lo que el restablecimiento viene a hacer. Las tablas se vuelven a crear vacías cuando vuelvas a usar el módulo: al abrir su pantalla, al correr su tarea programada o cuando otro módulo le pida algo. Mientras no lo uses, no existen.
Ningún módulo se repone solo. Si después de restablecer ves alguno de vuelta en el menú, o Configuración → Módulos te cuenta tablas de un módulo que no tocaste, eso es una falla: avísanos.
Si tienes instalado el License Server —sólo lo tiene el proveedor; los paquetes de cliente ni siquiera llevan la carpeta—, su sección vuelve sola después del restablecimiento y el registro de tus instalaciones cliente no se toca.
No es un módulo de este sitio: es el control de tu flota. Borrarlo dejaría sin licencia a todos tus clientes, y ese dato no se puede reconstruir desde el sistema que lo borró.
Significa que el servidor web no tuvo permiso para borrar algunos archivos. El aviso ya no se cierra solo: se queda hasta que pulses Recargar el panel, y lista las carpetas donde quedó algo —no los archivos, que pueden ser decenas dentro de las mismas tres o cuatro carpetas—.
Por qué pasa: para borrar un archivo hace falta permiso de escritura sobre la carpeta que lo contiene, no sobre el archivo. Si esa carpeta la creó otro usuario del servidor (tú por FTP, tu editor, un git clone), el servidor web no puede tocar nada dentro y tampoco puede darse permiso a sí mismo: sólo el dueño puede cambiarlos.
Qué hacer: dale al servidor web permiso de escritura sobre esas carpetas —o bórralas desde tu panel de hosting— y vuelve a restablecer. Todo lo demás ya se hizo. La misma lista queda en Configuración → Logs.
Mientras algo siga ahí, el módulo al que pertenezca seguirá apareciendo en Configuración → Módulos. No es que el restablecimiento fallara: es que ese archivo existe.
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.
| Modo | Qué lleva dentro | Para 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 cliente | Todo 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ón | Solo 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). |
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.
Cómo se llama el archivo
El nombre del .zip dice de qué paquete se trata, para que no tengas que abrirlo ni fiarte de la hora en que lo creaste:
| Modo | Nombre del archivo |
|---|---|
| Paquete propio | El nombre que pusiste en Apariencia → Nombre del dashboard: mi-empresa_2026-08-15_101500.zip. |
| Actualización del servidor de licencias | actualizacion-servidor-licencias_2026-08-15_101500.zip. |
| Paquete de cliente | El nombre del cliente: cliente-cafeteria-aroma_2026-08-15_101500.zip. |
| Paquete de actualización | paquete-de-actualizacion_2026-08-15_101500.zip. |
Si tu carpeta de paquetes tiene varios .zip de la misma fecha, el nombre es lo único que los distingue. Escribe siempre el nombre del cliente al empaquetar una entrega: sin él, el archivo sale con el dominio (cliente-cafeteria-aroma-cl_…zip) y, si tampoco hay dominio, con un genérico paquete-de-cliente_…zip.
Descargar o borrar varios paquetes de una vez
La lista Paquetes Creados se puede marcar. Cada fila tiene su casilla a la izquierda, y la del encabezado marca todas las de la lista. Al marcar la primera aparece arriba una barra azul que te dice cuántos llevas elegidos y cuánto pesan juntos, con dos acciones:
- Descargar — baja los paquetes marcados uno tras otro, sin que tengas que ir fila por fila.
- Eliminar — te muestra la lista de lo que vas a borrar, cuánto espacio se libera, y lo borra todo con una sola confirmación.
Quitar selección deja la lista como estaba, sin tocar nada.
Guardar siete respaldos diarios, cuatro semanales y doce mensuales (cuántos guardar) significa que la mayor parte de la lista son copias viejas esperando salir. Marcarlas todas y borrarlas de una vez es un minuto; hacerlo de a una, con su confirmación cada vez, es lo que hace que la carpeta crezca hasta que el hosting reclama.
Al descargar varios archivos a la vez, el navegador pregunta una sola vez si permites descargas múltiples desde este sitio. Si no lo aceptas, solo baja el primero.
El sistema no cancela toda la tanda por un archivo con problemas: borra los que puede y te dice, por nombre, cuál quedó y por qué (normalmente, permisos de la carpeta packages/). Así no tienes que adivinar cuáles repetir.
Paquete de cliente — 5 campos extra
Si eliges Paquete de cliente se abren cinco casillas más:
- Nombre del cliente (
Cafetería Aroma) — solo da nombre al archivo, no viaja dentro del paquete. - 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
- En tu servidor de licencias, registra la instalación del cliente con su nombre y su dominio, y marca los plugins que tendrá.
- Copia de esa pantalla los tres valores: dirección del servidor de licencias, clave de licencia y clave pública de la flota.
- Ve a Configuración → Empaquetado, marca Paquete de cliente, escribe el nombre y el dominio del cliente, y pega los tres valores. Presiona Crear paquete.
- Descarga el
.zipdesde la lista de paquetes y súbelo al hosting del cliente, descomprimido en la carpeta de su sitio. - 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.
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.
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ón | Cuá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ón | Abre 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:
- 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.
- 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.
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.
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:
- Sube el paquete
.zip. - 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á amisitio.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.
Llevar sólo una parte del contenido
Si no quieres mover la instalación entera sino lo que cargaste —las fotos, una página, un módulo con sus fichas—, eso es un paquete distinto y se agrega en vez de reemplazar: Llevar contenido de un lado a otro.
Trabajar la instalación de un cliente
Si lo que necesitas no es entregarle el sistema sino meterte en el suyo — reproducir algo que sólo pasa con sus datos, arreglarlo y devolverle el arreglo — eso tiene su propio recorrido guiado: Traer un cliente a tu equipo.
¿Qué sigue?
- Traer un cliente a tu equipo — trabajar su instalación en tu máquina y devolverle una versión nueva.
- Llevar contenido de un lado a otro — fotos, videos, páginas y módulos elegidos, con las direcciones corregidas.
- License Server — para publicar actualizaciones a tu flota.
- Cambiar de dominio — si necesitas migrar sin generar paquete.
- Respaldos — estrategia continua.