What you need
- PHP 8.3+, with extensions:
mbstring,openssl,json,pdo_mysql,fileinfo,dom,libxml,curl,iconv,gd - MySQL 8+ (or compatible)
- A queue worker process and a cron entry — see Background processes below
Steps
1
Upload the release and point your document root at public/
storage/, bootstrap/cache/, and .env all need to be writable by your web server user before you start — the installer writes .env directly.2
Visit your domain
You’re redirected straight to the install wizard. Four steps:
1
Environment requirements
Confirms PHP version, required extensions, and writable folders.
2
Database & mail configuration
Enter your database credentials and mail settings.
3
License activation
Enter the license key from your purchase confirmation.
4
Admin account
Create your own login — this is the account you’ll manage the whole instance from.
Once installed,
storage/installed exists and the wizard can never be re-run through the browser — reinstalling means deleting that file and re-running migrations yourself. Never delete this file on a real, already-installed site — it’s the only thing standing between a real instance and every visitor being redirected back to the install wizard.Background processes
Two things need to run continuously outside the request/response cycle, or large parts of the app silently do nothing:1
Queue worker
Audit reports and outbound webhook deliveries are both queued jobs, not run inline on the request.Run it under a process supervisor (systemd, Supervisor) so it survives restarts — and restart it after every code deploy, since a long-running worker keeps old class definitions loaded in memory until restarted.
2
Scheduler cron
Drives the daily license/update checks. Nothing time-based works without it.