Docs · Installation

Installation

The installation wizard takes about two minutes. It collects your Medel Platforms license key, MySQL credentials, app name and URL, and creates the first administrator account.

Requirements

1. Upload the files

Unzip the package and upload the entire folder to your web server's document root, or any subfolder (e.g. https://example.com/vault). The wizard works in both setups.

Make sure these directories are writable by PHP:

2. Run the wizard

Open https://yourdomain.com/install/ in your browser. The setup is a guided 7-step process:

#StepWhat happens
1WelcomeReads VERSION and shows the requirements list.
2License keyLive verify call against Medel Platforms. The buyer cannot continue without a valid key.
3System requirementsPHP version + extensions + writable paths.
4DatabaseHost, user, password, database name. The wizard creates the database if missing and tests the connection.
5ApplicationApp name and public URL.
6Admin userEmail, display name, vault PIN (4–8 digits) and PIN confirmation. Passwordless login — no password is stored.
7FinishApplies the schema, creates the admin user via the live vault_v2_init helper, displays the vault recovery code one time, writes app/.installed.

3. After installation

Recovery code: step 7 shows the vault recovery code one time. Save it somewhere safe (password manager, printed copy). It is the only way to recover the vault if you ever forget your PIN.

What the wizard does internally

Step 7 (Finish) is where the heavy work happens. It runs the following pipeline in order, bailing out and reporting if anything fails:

  1. Generates a cookie encryption key and writes it to .fortpass-key.
  2. Opens a MySQL connection with the credentials from step 4 and creates the database if it does not exist.
  3. Executes install/sql/schema.sql against the new database (the baseline schema for this release).
  4. Writes app/db.php with the buyer's credentials.
  5. Seeds settings with the app name, app URL, version, license key and a pre-warmed license_cache row so the first page load doesn't round-trip the API again.
  6. Creates the admin user with is_admin = 1, hashes the PIN, and calls vault_v2_init() to derive the vault encryption keys and generate the recovery code.
  7. Writes the app/.installed marker (JSON with version + timestamp + masked license).

Troubleshooting the install

"License inactive" after install

Open /admin/license, paste a fresh key and click Save key. The license is re-verified live. See License & Updates for details on the cache and grace windows.

The wizard refuses to start

Make sure app/ is writable so the wizard can write the credentials file and the .installed marker. Check the PHP error log for permission errors.

Database errors during install

The user you specified must have CREATE, ALTER, INSERT, UPDATE, DELETE and SELECT privileges on the target database.

I want to start over

Delete the database, delete app/.installed, and reload /install/. The wizard will run again from scratch.

FortPass · © 2026 Medel Platforms · medel.es