Studio-installatie voor webontwikkelaars
De Studio-download bevat de volledige broncode van beide edities, een deploytool voor Cloudflare en de technische documenten. Deze handleiding is de korte versie voor mensen die liever zelf elke stap uitvoeren.
- Het beste voor
- Webontwikkelaars en IT-teams die Studio liever zelf installeren, vanuit de broncode in de Studio-download.
- Dit heb je nodig
- De Studio-download; voor de PHP-editie een Apache-, LiteSpeed- of nginx-host met PHP 8.0 of nieuwer; voor de Cloudflare-editie een Cloudflare-account met R2 ingeschakeld en Node.js 20 of nieuwer.
- Edities
- Twee edities van dezelfde app met dezelfde URL’s, upload-API, hetzelfde dashboard en dezelfde rollen: een PHP-app zonder database en een Cloudflare Worker met R2 en D1 als back-end.
Haal de Studio-download op
Log in bij Maxisnap met het account dat Studio heeft. Daarna:
- Op Windows: open in Maxisnap Instellingen → Account → Installatiewizard van Maxisnap Studio, klik op “Aan de slag” en dan op “Dashboard downloaden”. Maxisnap slaat de Studio-ZIP op in je map Downloads en opent die map.
- Op een Mac: open in Maxisnap Settings → Welcome & Help → Studio Setup Guide, klik op “Get Started” en dan op “Download Dashboard”. Maxisnap slaat de Studio-ZIP op in je map Downloads.
Pak de ZIP uit. Klik op Windows met de rechtermuisknop op het bestand en kies “Alles uitpakken”. Dubbelklik op een Mac op het bestand.
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 De volledige Developer guide behandelt de architectuur, de upload-API, sleutels en rollen, het beveiligingsmodel en probleemoplossing. Hij staat in de download als docs/Developer guide.html.
PHP-editie: upload en rond de installatie af
- Upload de map snaps naar de webroot, inclusief de verborgen .htaccess-bestanden, zodat het resultaat public_html/snaps/index.php is. Een snaps.zip in je eigen huisstijl van de pagina Start Here werkt op dezelfde manier; pak het ter plekke uit en zorg dat er geen geneste snaps/snaps ontstaat.
- Open https://yourcompany.com/snaps/ één keer. De installatiepagina controleert PHP en de maprechten en stelt een adminsleutel van 40 tekens voor; de sleutel moet minstens 16 tekens hebben. Kopieer die en klik dan op “Create my dashboard”.
- Maak op nginx de routing- en deny-regels uit snaps/.htaccess na. Houd uploads, data en branding privé.
De installatiepagina schrijft your-settings.php, dat bij updates behouden blijft:
'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 Cloudflare-editie: deploy vanuit een terminal
De meegeleverde CLI leest eerst het account, toont een plan van wat er wordt aangemaakt en wat ongemoeid blijft, en weigert namen die al in gebruik zijn. Stopt een deploy halverwege, dan gaat die bij het opnieuw uitvoeren van dezelfde opdracht verder, zonder iets dubbel aan te maken.
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 De deploy toont het adres van Studio en de adminsleutel één keer, en schrijft deployment.json in de map waaruit je de deploy uitvoert. Bewaar dat bestand: update en remove gebruiken het.
Controleer of het werkt
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" Open daarna het adres van Studio in een browser en log in met de adminsleutel. 401 betekent een onjuiste sleutel; 404 betekent een onjuist adres of een onjuiste map.
Koppel Maxisnap
- Maxisnap voor Windows: open Instellingen → Account → Installatiewizard van Maxisnap Studio, klik op “Aan de slag”, dan op “Volgende” tot je bij stap 4 komt, “Koppel Maxisnap”. Plak het adres en de sleutel van je Studio, klik op “Verbinding testen”, dan op “Volgende” en op de laatste pagina op “Voltooien en opslaan”. De adminsleutel uit de installatie werkt, en een uploadcode uit People & access in je dashboard ook.
- Maxisnap voor Mac: open Settings → Welcome & Help → Studio Setup Guide en kies “I already have a dashboard”. Plak het adres en de sleutel van je Studio, klik op “Test Connection”, dan op “Next” en dan op “Finish & Save”.
Leer de upload-API kennen
- De Maxisnap-apps uploaden met een X-Dashboard-Key-header naar api/upload.php. Afbeeldingen (PNG, JPG, GIF en WebP) en video’s (MP4, WebM en MOV) worden geaccepteerd.
- Maxisnap voor Windows en Maxisnap voor Mac sturen elke upload in één verzoek naar een Cloudflare-Studio, die per bestand maximaal 25 MB accepteert.
- De Cloudflare-editie heeft ook een chunked upload-API voor grotere bestanden, beschreven in de Developer guide: api/upload/start, part en complete.
- Deelpagina’s en hun mediabestanden gebruiken deze paden; elk ander pad is intern:
/<slug>/<slug>.<ext>
Werk het later bij of verwijder het
PHP: vervang alleen de bestanden die in snaps/How to update.txt staan, en wis daarna de caches van de host en de CDN. Opnames, personen, huisstijl en instellingen blijven behouden.
Cloudflare: voer deze opdrachten uit vanuit de map cloudflare van het nieuwere pakket, nadat je het oude deployment.json naar die map hebt gekopieerd.
# 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 Lees het technische document over Cloudflare: elke resource, machtiging en API-aanroep.
Als er iets misgaat
De healthcheck antwoordt met 401
{"error":"unauthorized"}
De sleutel is onjuist, uitgeschakeld of korter dan Studio accepteert, of de installatie is op een PHP-host nog niet voltooid. Stuur de sleutel mee in de X-Dashboard-Key-header, nooit in het adres.
De healthcheck antwoordt met 404, of met HTML in plaats van JSON
Het adres of de map is onjuist, de host negeert de .htaccess-regels van Studio (nginx, of Apache zonder herschrijving), of een CDN of beveiligingslaag antwoordt in plaats van Studio. Maak op nginx de routing- en deny-regels uit snaps/.htaccess na; de Developer guide somt ze op.
De healthcheck antwoordt met 429
Too many incorrect codes. Wait a few minutes before trying again.
Wordt er herhaaldelijk een onjuiste sleutel gebruikt, dan weigert Studio 15 minuten lang verdere pogingen vanaf je netwerk. Wacht en probeer het daarna opnieuw met de juiste sleutel.
Uploads antwoorden met 403 op een eigen domein
Cloudflare Access, een WAF-regel of Bot Fight Mode op die hostnaam blokkeert de uploads van de apps. Sluit de hostnaam van Studio uit; het technische document bevat de checklist. Ook een Viewer-code krijgt 403 bij uploads: gebruik de adminsleutel of een uploadcode.
Uploads antwoorden met 413
Bij PHP ligt upload_max_filesize, post_max_size of een limiet van de host of CDN onder de bestandsgrootte; de eigen limiet van Studio is max_upload_mb in your-settings.php.
Bij Cloudflare kan één verzoek maximaal 25 MB bevatten; grotere bestanden hebben de chunked upload-API nodig.
Elke pagina van een Cloudflare-Studio antwoordt met 503
This Studio is not set up correctly: its ADMIN_KEY secret must be at least 16 characters.
Stel een langer ADMIN_KEY-secret in, bijvoorbeeld met de update-opdracht en --new-admin-key, of met npx wrangler secret put ADMIN_KEY.
Het plan stopt bij een regel met een “x”
Elke “x”-regel is een blocker en geeft aan wat je moet doen: schakel R2 in, voeg --subdomain toe voor een account zonder workers.dev-naam, of wijzig --name, --zone of --hostname als een naam ongeldig is, al in gebruik is of buiten het domein valt. Maak daarna het plan opnieuw. Bucket- en databasenamen die al bezet zijn, krijgen de volgende vrije naam, zonder blocker.
De CLI weigert deployment.json
deployment.json belongs to the Studio "snaps". Keep it, and pass --record <another file> for this one.
Elke Studio heeft een eigen record. Bewaar dat bestand en geef de tweede Studio met --record een ander. Zonder record kunnen update en remove niet worden uitgevoerd; geef het pad van het juiste bestand mee.
Een Studio op workers.dev toont “Error 1027”
De dagelijkse limiet voor verzoeken van het gratis abonnement is bereikt. De limiet wordt om middernacht UTC opnieuw ingesteld.
Kom je er niet uit?
Mail ons en je krijgt antwoord van een mens, meestal binnen één werkdag. Met deze gegevens kunnen we in één keer antwoorden:
- De installatieoptie die je hebt gekozen en de stap waar je op zit.
- Een screenshot van het scherm, met de volledige tekst van een eventuele foutmelding.
- Waar je Studio komt te staan: een nieuw of bestaand Cloudflare-account, of de naam van je webhostingbedrijf.
- Je Maxisnap-versie: op Windows bij Instellingen en dan Info; op een Mac onder Maxisnap en dan About Maxisnap.
Stuur ons alsjeblieft niet je adminsleutel, een Cloudflare-sleutel of een wachtwoord. We hebben ze niet nodig om je te helpen.
Andere installatiehandleidingen
- Ik heb geen website
Studio in een gratis Cloudflare-account zetten
- Mijn bedrijf gebruikt al Cloudflare
Studio toevoegen aan het Cloudflare-account van je bedrijf
- Ik heb webhosting
Studio installeren op je webhosting
- Mijn AI-assistent stelt het in
Je AI-assistent Studio laten instellen
- Ik heb al een Studio
Maxisnap koppelen aan je Studio