Configurazione di Studio per sviluppatori web
Il download di Studio contiene il codice sorgente completo di entrambe le edizioni, uno strumento di deploy per Cloudflare e i documenti tecnici. Questa guida è la versione breve per chi preferisce eseguire ogni passaggio di persona.
- Ideale per
- Sviluppatori web e team IT che preferiscono installare Studio in autonomia, a partire dal codice sorgente nel download di Studio.
- Cosa ti serve
- Il download di Studio; per l'edizione PHP, un host Apache, LiteSpeed o nginx con PHP 8.0 o successivo; per l'edizione Cloudflare, un account Cloudflare con R2 attivato e Node.js 20 o successivo.
- Edizioni
- Due edizioni della stessa app, con gli stessi URL, la stessa API di upload, la stessa dashboard e gli stessi ruoli: un'app PHP senza database e un Worker Cloudflare che si appoggia a R2 e D1.
Scarica Studio
Accedi a Maxisnap con l'account che ha Studio, poi:
- Su Windows: in Maxisnap, apri Impostazioni → Account → Configurazione guidata Studio, fai clic su “Inizia”, poi su “Scarica dashboard”. Maxisnap salva lo ZIP di Studio nella cartella Download e apre quella cartella.
- Su un Mac: in Maxisnap, apri Settings → Welcome & Help → Studio Setup Guide, fai clic su “Get Started”, poi su “Download Dashboard”. Maxisnap salva lo ZIP di Studio nella cartella Download.
Estrai lo ZIP. Su Windows, fai clic con il pulsante destro e scegli “Estrai tutto”. Su un Mac, fai doppio clic.
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 tratta l'architettura, l'API di upload, le chiavi e i ruoli, il modello di sicurezza e la risoluzione dei problemi. Nel download si trova in docs/Developer guide.html.
Edizione PHP: carica e completa la configurazione
- Carica la cartella snaps nella radice web, inclusi i suoi file .htaccess nascosti, in modo che il risultato sia public_html/snaps/index.php. Uno snaps.zip con il tuo branding, ottenuto dalla pagina Start Here, funziona allo stesso modo: estrailo sul posto e non annidare snaps/snaps.
- Apri https://yourcompany.com/snaps/ una volta. La pagina di configurazione controlla PHP e i permessi della cartella e suggerisce una chiave di amministratore di 40 caratteri; la chiave deve averne almeno 16. Copiala, poi fai clic su “Create my dashboard”.
- Su nginx, riproduci le regole di routing e di blocco presenti in snaps/.htaccess. Mantieni privati uploads, data e branding.
La pagina di configurazione scrive your-settings.php, che viene mantenuto durante gli aggiornamenti:
'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 Edizione Cloudflare: deploy da terminale
La CLI inclusa legge prima l'account, mostra un piano di ciò che creerà e di ciò che non toccherà, e rifiuta i nomi già in uso. Se un deploy si interrompe a metà, rieseguire lo stesso comando lo fa proseguire senza creare nulla due volte.
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 Il deploy mostra una sola volta l'indirizzo di Studio e la chiave di amministratore, e scrive deployment.json nella cartella da cui viene eseguito. Conserva quel file: update e remove lo usano.
Verifica che funzioni
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" Poi apri l'indirizzo di Studio in un browser e accedi con la chiave di amministratore. 401 significa chiave sbagliata; 404 significa indirizzo o cartella sbagliati.
Collega Maxisnap
- Maxisnap per Windows: apri Impostazioni → Account → Configurazione guidata Studio, fai clic su “Inizia”, poi su “Avanti” fino al passaggio 4, “Collega Maxisnap”. Incolla l'indirizzo e la chiave del tuo Studio, fai clic su “Verifica connessione”, poi su “Avanti” e infine su “Termina e salva” nell'ultima pagina. Vanno bene sia la chiave di amministratore della configurazione sia un codice di caricamento da People & access nella tua dashboard.
- Maxisnap per Mac: apri Settings → Welcome & Help → Studio Setup Guide e scegli “I already have a dashboard”. Incolla l'indirizzo e la chiave del tuo Studio, fai clic su “Test Connection”, poi su “Next” e infine su “Finish & Save”.
Conosci l'API di upload
- Le app di Maxisnap caricano con un'intestazione X-Dashboard-Key verso api/upload.php. Sono accettate immagini (PNG, JPG, GIF e WebP) e video (MP4, WebM e MOV).
- Maxisnap per Windows e Maxisnap per Mac inviano ogni caricamento a uno Studio su Cloudflare in un'unica richiesta, e lo Studio la accetta fino a 25 MB per file.
- L'edizione Cloudflare ha anche un'API di upload a blocchi per i file più grandi, descritta nella Developer guide: api/upload/start, part e complete.
- Le pagine di condivisione e i relativi file multimediali usano questi percorsi; ogni altro percorso è interno:
/<slug>/<slug>.<ext>
Aggiornalo o rimuovilo in seguito
PHP: sostituisci solo i file elencati in snaps/How to update.txt, poi svuota la cache dell'host e della CDN. Catture, persone, branding e impostazioni restano.
Cloudflare: esegui questi comandi dalla cartella cloudflare del pacchetto più recente, con il vecchio deployment.json copiato al suo interno.
# 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 Leggi il documento tecnico su Cloudflare: ogni risorsa, permesso e chiamata API.
Se qualcosa va storto
Il controllo di stato risponde 401
{"error":"unauthorized"}
La chiave è sbagliata, disattivata o più corta di quanto Studio accetti, oppure la configurazione non è stata completata su un host PHP. Invia la chiave nell'intestazione X-Dashboard-Key, mai nell'indirizzo.
Il controllo di stato risponde 404, oppure HTML invece di JSON
L'indirizzo o la cartella sono sbagliati, l'host ignora le regole .htaccess di Studio (nginx, oppure Apache senza riscrittura), oppure una CDN o un livello di sicurezza risponde al posto di Studio. Su nginx, riproduci le regole di routing e di blocco presenti in snaps/.htaccess; la Developer guide le elenca.
Il controllo di stato risponde 429
Too many incorrect codes. Wait a few minutes before trying again.
Dopo ripetuti tentativi con chiavi sbagliate, Studio rifiuta ulteriori tentativi dalla tua rete per 15 minuti. Aspetta, poi riprova con la chiave giusta.
I caricamenti rispondono 403 su un dominio personalizzato
Cloudflare Access, una regola WAF o Bot Fight Mode su quell'hostname blocca i caricamenti delle app. Escludi l'hostname di Studio; il documento tecnico contiene la checklist. Anche un codice Viewer riceve 403 nei caricamenti: usa la chiave di amministratore o un codice di caricamento.
I caricamenti rispondono 413
Su PHP, upload_max_filesize, post_max_size o un limite dell'host o della CDN è inferiore alla dimensione del file; il limite di Studio è max_upload_mb in your-settings.php.
Su Cloudflare, una richiesta può trasportare fino a 25 MB; i file più grandi richiedono l'API di upload a blocchi.
Ogni pagina di uno Studio su Cloudflare risponde 503
This Studio is not set up correctly: its ADMIN_KEY secret must be at least 16 characters.
Imposta un secret ADMIN_KEY più lungo, ad esempio con il comando update e --new-admin-key, oppure con npx wrangler secret put ADMIN_KEY.
Il piano si ferma con una riga “x”
Ogni riga “x” è un blocco e indica cosa fare: attiva R2, aggiungi --subdomain per un account senza un nome workers.dev, oppure cambia --name, --zone o --hostname quando un nome non è valido, è già occupato o è fuori dal dominio. Poi prepara di nuovo il piano. Se il nome di un bucket o di un database è già occupato, viene usato il nome libero successivo, senza alcun blocco.
La CLI rifiuta deployment.json
deployment.json belongs to the Studio "snaps". Keep it, and pass --record <another file> for this one.
Ogni Studio ha il proprio record. Conserva quel file e assegna al secondo Studio un file diverso con --record. Senza alcun record, update e remove non possono essere eseguiti; indica il percorso del file giusto.
Uno Studio su workers.dev mostra “Error 1027”
È stato raggiunto il limite giornaliero di richieste del piano gratuito. Si azzera a mezzanotte UTC.
Hai ancora bisogno di aiuto?
Scrivici un'email e una persona ti risponderà, di solito entro un giorno lavorativo. Questi dettagli ci aiutano a risponderti in un colpo solo:
- L'opzione di configurazione che hai scelto e il passaggio in cui ti trovi.
- Uno screenshot della schermata, con l'eventuale messaggio di errore per intero.
- Dove andrà il tuo Studio: un account Cloudflare nuovo o esistente, oppure il nome del tuo provider di hosting web.
- La tua versione di Maxisnap: su Windows in Impostazioni, poi Informazioni; su un Mac nel menu Maxisnap, poi About Maxisnap.
Per favore, non inviarci la tua chiave di amministratore, una chiave di Cloudflare o una password. Non ci servono per aiutarti.
Altre guide alla configurazione
- Non ho un sito web
Metti Studio in un account Cloudflare gratuito
- La mia azienda usa già Cloudflare
Aggiungi Studio all'account Cloudflare della tua azienda
- Ho un hosting web
Installa Studio sul tuo hosting web
- Lo configurerà il mio assistente AI
Fai configurare Studio al tuo assistente AI
- Ho già uno Studio
Collega Maxisnap al tuo Studio