ExamNovaDocumentation
Offline readyChangelog
Before installation

Requirements and preparation

Confirm the server, domain, database, mail, storage, and recovery prerequisites before opening the installer.

Platform ownerHosting administrator
Who does thisPlatform owner or hosting administrator
Before you startA domain, compatible hosting, an empty database, and backup ownership
Successful outcomeA verified environment ready for the protected installer
Self-hosted deployment layoutThe public webroot exposes only public assets while application code, private storage, and environment configuration stay outside it.BrowserPublic webrootLaravel appPrivate storageDatabaseQueue / mail
Self-hosted deployment layout. The public webroot exposes only public assets while application code, private storage, and environment configuration stay outside it.

What this means in plain language

Requirements are the conditions that let ExamNova run reliably. Passing the web installer check is useful, but the owner must also know who manages DNS, TLS, backups, scheduled work, and incident recovery.

Step-by-step

  1. Use PHP 8.2 or newer with the extensions required by Laravel, database access, image handling, ZIP packages, and PDF generation.
  2. Use MySQL or MariaDB with InnoDB and utf8mb4. Prepare an empty database and a user limited to that database.
  3. Point the domain document root at ExamNova’s public directory. Do not expose .env, application code, logs, or private storage.
  4. Enable HTTPS before collecting real user or assessment data.
  5. Confirm writable framework cache and storage directories, a working queue strategy, scheduled task execution, outbound mail, and sufficient private-file capacity.
  6. Write down the backup owner, backup location, retention period, and a tested restore procedure before production use.
ExamNova installer requirements screen
Live seeded-demo screen. The installer reports environment checks before configuration begins.

How to know it worked

Common mistakes

  • Using a database that already contains unrelated tables.
  • Serving the project root instead of the public directory.
  • Treating a hosting snapshot as a tested application backup.

If something goes wrong

  • If an extension is missing, enable it in the active web PHP configuration—not only the command-line configuration.
  • If permissions fail, verify the web-server account owns the writable directories.
  • If scheduled work does not run, test the hosting cron command manually and record its output.
Privacy and security: Do not send the .env file, database dump, license secret, or private storage archive to support unless an approved secure process explicitly requires it.

What to do next

Continue to the installation guide and keep the requirements results available while configuring the application.