Saltar al contenido principal
Guías de configuración de Studio Soy desarrollador web

Configuración de Studio para desarrolladores web

La descarga de Studio contiene el código fuente completo de las dos ediciones, una herramienta de despliegue para Cloudflare y los documentos técnicos. Esta guía es la versión breve para quienes prefieren ejecutar cada paso por su cuenta.

Mejor para
Desarrolladores web y equipos de TI que prefieren instalar Studio por su cuenta, desde el código fuente de la descarga de Studio.
Lo que necesitas
La descarga de Studio; para la edición PHP, un servidor Apache, LiteSpeed o nginx con PHP 8.0 o posterior; para la edición de Cloudflare, una cuenta de Cloudflare con R2 activado y Node.js 20 o posterior.
Ediciones
Dos ediciones de la misma aplicación, con las mismas URL, API de subida, panel y roles: una aplicación PHP sin base de datos y un Cloudflare Worker respaldado por R2 y D1.

Consigue la descarga de Studio

Inicia sesión en Maxisnap con la cuenta que tiene Studio y luego:

  • En Windows: en Maxisnap, abre Configuración → Cuenta → Asistente de configuración, haz clic en «Empieza» y luego en «Descargar panel». Maxisnap guarda el ZIP de Studio en tu carpeta Descargas y abre esa carpeta.
  • En un Mac: en Maxisnap, abre Settings → Welcome & Help → Studio Setup Guide, haz clic en «Get Started» y luego en «Download Dashboard». Maxisnap guarda el ZIP de Studio en tu carpeta Descargas.

Extrae el ZIP. En Windows, haz clic con el botón derecho en él y elige «Extraer todo». En un Mac, haz doble clic en él.

Maxisnap-Studio-v<version>/
  Maxisnap Studio - Start Here.html   guided setup (branding + every route)
  snaps/                              PHP edition: upload this folder to a web host
  cloudflare/                         Cloudflare Workers edition (Worker + R2 + D1)
    deploy/cli.mjs                    deploys it through the Cloudflare API (Node 20+)
  docs/Developer guide.html           architecture, upload API, security, updates
  docs/Cloudflare setup - technical brief.html
  AGENTS.md                           instructions for AI coding assistants

La Developer guide completa cubre la arquitectura, la API de subida, las claves y los roles, el modelo de seguridad y la resolución de problemas. Es docs/Developer guide.html en la descarga.

Edición PHP: sube y termina la configuración

  1. Sube la carpeta snaps a la raíz web, incluidos sus archivos .htaccess ocultos, de modo que el resultado sea public_html/snaps/index.php. Un snaps.zip con tu marca de la página Start Here funciona igual: extráelo ahí mismo y no anides snaps/snaps.
  2. Abre https://yourcompany.com/snaps/ una vez. La página de configuración comprueba PHP y los permisos de la carpeta y sugiere una clave de administrador de 40 caracteres; la clave debe tener al menos 16. Cópiala y haz clic en «Create my dashboard».
  3. En nginx, reproduce las reglas de enrutamiento y de denegación de snaps/.htaccess. Mantén privadas las carpetas uploads, data y branding.

La página de configuración escribe your-settings.php, que se conserva entre actualizaciones:

'dashboard_key' => '…',          // the Admin key; the setup page writes it
'base_url'      => 'https://yourcompany.com/snaps',  // the address setup was opened at; fix it here if share links come out wrong
'max_upload_mb' => 500,          // your host's PHP limits still apply

Edición de Cloudflare: despliegue desde una terminal

La CLI incluida lee primero la cuenta, muestra un plan de lo que va a crear y de lo que no va a tocar, y rechaza los nombres que ya están en uso. Si un despliegue se interrumpe a medias, ejecutar de nuevo el mismo comando lo continúa sin crear nada dos veces.

cd cloudflare
# Option 1: the bundled CLI (Node 20+; plan first, then --yes). PowerShell:
$env:CLOUDFLARE_API_TOKEN = "<token: Account Settings Read; Workers Scripts, R2 and D1 Edit;
                              for --zone/--hostname also Zone Read, DNS Read, Workers Routes Read>"
node deploy/cli.mjs whoami
node deploy/cli.mjs plan --account <account id> --name snaps
#   no workers.dev name on the account yet? The plan asks you to "Choose your free
#   workers.dev name": add --subdomain <your-company> to both commands (account-wide).
#   A subdomain of your domain as well: add --zone <zone id> --hostname snaps.example.com
node deploy/cli.mjs deploy --account <account id> --name snaps --yes
#   prints the Studio address and the Admin key once, and writes deployment.json here

# Option 2: plain Wrangler (create the bucket and database, set their ids in wrangler.jsonc)
npm install
npx wrangler r2 bucket create maxisnap-studio-media
npx wrangler d1 create maxisnap-studio
npx wrangler secret put ADMIN_KEY
npm run sync
npx wrangler deploy

El despliegue imprime la dirección de Studio y la clave de administrador una sola vez, y escribe deployment.json en la carpeta desde la que se ejecuta. Conserva ese archivo: update y remove lo usan.

Comprueba que funciona

curl.exe -s -H "X-Dashboard-Key: <Admin key>" https://<studio address>/api/health.php
# {"ok":true,"app":"Maxisnap Studio","version":"…"}   the Cloudflare edition adds "edition":"cloudflare"

Después, abre la dirección de Studio en un navegador e inicia sesión con la clave de administrador. 401 significa una clave incorrecta; 404 significa una dirección o una carpeta incorrectas.

Conecta Maxisnap

  • Maxisnap para Windows: abre Configuración → Cuenta → Asistente de configuración, haz clic en «Empieza» y luego en «Siguiente» hasta llegar al paso 4, «Conecta Maxisnap». Pega la dirección y la clave de tu Studio, haz clic en «Probar conexión», después en «Siguiente» y, en la última página, en «Terminar y guardar». Sirven tanto la clave de administrador de la configuración como un código de subida de People & access de tu panel.
  • Maxisnap para Mac: abre Settings → Welcome & Help → Studio Setup Guide y elige «I already have a dashboard». Pega la dirección y la clave de tu Studio, haz clic en «Test Connection», luego en «Next» y después en «Finish & Save».

Conoce la API de subida

  • Las aplicaciones de Maxisnap suben con una cabecera X-Dashboard-Key a api/upload.php. Se aceptan imágenes (PNG, JPG, GIF y WebP) y vídeos (MP4, WebM y MOV).
  • Maxisnap para Windows y Maxisnap para Mac envían cada subida a un Studio en Cloudflare en una sola solicitud, y este acepta hasta 25 MB por archivo.
  • La edición de Cloudflare también tiene una API de subida por fragmentos para archivos más grandes, descrita en la Developer guide: api/upload/start, part y complete.
  • Las páginas para compartir y sus archivos multimedia usan estas rutas; cualquier otra ruta es interna: /<slug> /<slug>.<ext>

Actualízalo o elimínalo más adelante

PHP: sustituye solo los archivos indicados en snaps/How to update.txt y luego vacía las cachés del alojamiento y de la CDN. Las capturas, las personas, la marca y los ajustes se conservan.

Cloudflare: ejecuta estos comandos desde la carpeta cloudflare del paquete más reciente, con el deployment.json antiguo copiado dentro.

# Update: from a newer package's cloudflare folder, with the old deployment.json copied in
node deploy/cli.mjs update --record deployment.json --yes
# New Admin key (shown once):
node deploy/cli.mjs update --record deployment.json --yes --new-admin-key
# Remove the custom domain and the Worker; the bucket and database (the captures) stay
node deploy/cli.mjs remove --record deployment.json --yes
# Also delete every capture: cannot be undone
node deploy/cli.mjs remove --record deployment.json --yes --delete-data

Lee el informe técnico de Cloudflare: cada recurso, permiso y llamada a la API.

Si algo sale mal

La comprobación de estado responde 401

{"error":"unauthorized"}

La clave es incorrecta, está desactivada o es más corta de lo que Studio acepta, o la configuración no ha terminado en un servidor PHP. Envíala en la cabecera X-Dashboard-Key, nunca en la dirección.

La comprobación de estado responde 404, o HTML en lugar de JSON

La dirección o la carpeta no son correctas, el proveedor ignora las reglas .htaccess de Studio (nginx, o Apache sin reescritura), o una CDN o una capa de seguridad responde en lugar de Studio. En nginx, reproduce las reglas de enrutamiento y de denegación de snaps/.htaccess; la Developer guide las enumera.

La comprobación de estado responde 429

Too many incorrect codes. Wait a few minutes before trying again.

Tras varias claves incorrectas seguidas, Studio rechaza más intentos desde tu red durante 15 minutos. Espera y vuelve a intentarlo con la clave correcta.

Las subidas responden 403 en un dominio personalizado

Cloudflare Access, una regla de WAF o Bot Fight Mode en ese nombre de host bloquea las subidas de las aplicaciones. Excluye el nombre de host de Studio; el informe técnico incluye la lista de comprobación. Un código Viewer también recibe un 403 al subir: usa la clave de administrador o un código de subida.

Las subidas responden 413

En PHP, upload_max_filesize, post_max_size o un límite del alojamiento o de la CDN es inferior al tamaño del archivo; el límite propio de Studio es max_upload_mb en your-settings.php.

En Cloudflare, una solicitud puede llevar hasta 25 MB; los archivos más grandes necesitan la API de subida por fragmentos.

Todas las páginas de un Studio en Cloudflare responden 503

This Studio is not set up correctly: its ADMIN_KEY secret must be at least 16 characters.

Define un secreto ADMIN_KEY más largo, por ejemplo con el comando update y --new-admin-key, o con npx wrangler secret put ADMIN_KEY.

El plan se detiene con una línea «x»

Cada línea «x» es un bloqueo y te indica qué hacer: activar R2, añadir --subdomain en una cuenta sin nombre de workers.dev, o cambiar --name, --zone o --hostname cuando un nombre no es válido, ya está en uso o queda fuera del dominio. Después, vuelve a ejecutar el plan. Los nombres de bucket y de base de datos que ya están en uso reciben el siguiente nombre libre, sin bloqueo.

La CLI rechaza deployment.json

deployment.json belongs to the Studio "snaps". Keep it, and pass --record <another file> for this one.

Cada Studio tiene su propio registro. Conserva ese archivo y dale al segundo Studio otro distinto con --record. Sin ningún registro, update y remove no pueden ejecutarse; indica la ruta del archivo correcto.

Un Studio en workers.dev muestra «Error 1027»

Se ha alcanzado el límite diario de solicitudes del plan gratuito. Se restablece a medianoche UTC.

¿Sigues necesitando ayuda?

Escríbenos y una persona te responderá, normalmente en un día hábil. Estos datos nos ayudan a responderte a la primera:

  • La opción de configuración que has elegido y el paso en el que estás.
  • Una captura de pantalla con el mensaje de error completo, si lo hay.
  • Dónde vas a poner tu Studio: una cuenta de Cloudflare nueva o ya existente, o el nombre de tu empresa de alojamiento web.
  • Tu versión de Maxisnap: en Windows, en Configuración y luego en Acerca de; en un Mac, en el menú Maxisnap y luego en About Maxisnap.

Por favor, no nos envíes tu clave de administrador, una clave de Cloudflare ni una contraseña. No las necesitamos para ayudarte.

Otras guías de configuración