Skip to content

Install with the web wizard

Upload the archive, open your domain, and walk five steps. No terminal required.

2 min read

Installation is a five-step form in the browser. You never need SSH, Composer, or a command line.

1. Upload and unzip#

Upload panel.zip to your hosting and extract it. Point your domain’s document root at the public/ directory inside the extracted folder.

If your host will not let you move the document root, put the contents of public/ at your web root and adjust the two require paths at the top of index.php to point up into the application folder.

2. Open your domain#

Visit your domain in a browser. Because there is no installation lock file yet, every route redirects to /install and the wizard opens.

This works on a completely fresh unzip, before any .env file or database exists. The application creates a temporary environment file and parks sessions, cache, and queues on the filesystem so the first request can be served at all; the installer replaces those with real settings when it finishes.

3. Walk the five steps#

  1. Language and requirements. Pick the language the wizard and the installed panel should use — the picker lists every shipped locale under its own native name. Below it, the requirements table shows a row per PHP version check, extension, and writable path.
  2. License key. Paste the key from your receipt. How it is checked depends on the build; see License drivers.
  3. Database. Host, port, database name, username, password. The wizard tests the connection before letting you continue.
  4. Site and admin account. Your site name, public URL, and the name, email, and password for the first super admin.
  5. Email (optional). SMTP host, port, encryption, credentials, and the from address. You can skip this and add it later in Settings — but until you do, no email leaves the panel.

The five steps are one form, stepped in the browser. That keeps the install a single atomic submission: there is no half-finished wizard state to resume or clean up if something fails. With JavaScript disabled the same page renders as one long form with a single submit button and installs correctly.

If the server rejects something, the wizard reopens the step that owns the error rather than dropping you back at the beginning.

4. Press Install now#

In one request the installer writes .env, runs every migration, seeds the roles and permissions, creates your super admin, links the storage directory, and writes the lock file.

5. Sign in#

You land on a completion screen with a link to the admin panel. Sign in with the super admin account you just created.

Work through the first-run checklist next.

How the panel knows it is installed#

A single file: storage/app/installed.json. It is written when the wizard succeeds and checked on every web and API request. While it is absent, every route redirects to /install; once it exists, /install redirects away.

It deliberately lives under storage/ rather than in .env, so editing .env by hand can never accidentally re-expose the installer on a live site.