Academy LMSProduct documentation
Installer guide
First launch

Install Academy LMS safely on cPanel, shared hosting, or a managed server.

The installer checks the server, records your central application URL, creates a clean schema, applies launch defaults, creates the administrator, and locks itself before normal use begins.

Nine-step Academy LMS installer flow
The installer has nine explicit stages. Step 4 clears the selected installation database before migrations run.

Before you start

  • Create a new MySQL or MariaDB database and user with full privileges for this application only.
  • Point the domain document root at the application public directory.
  • Make .env, storage, and bootstrap/cache writable by the PHP user.
  • Use HTTPS before choosing Production mode. Do not use a shared database containing another application.

The nine steps

StepPurposeWhat to check
1. RequirementsConfirms PHP extensions, folders, and server capability.Fix every failed check before continuing.
2. ApplicationSets identity, URL, currency, central domains, and optional tenant suffix.Use the public HTTPS URL that visitors will use.
3. DatabaseTests the chosen database credentials.Test succeeds before settings can be saved.
4. Database setupClears the selected install database, migrates, and seeds required data.Confirm the destructive warning; retry always starts from a clean schema.
5. ChannelsSets mail and optional SMS/WhatsApp delivery.Use a test address owned by the installer administrator.
6. Launch defaultsSets deployment mode, academy defaults, access policy, session, and login baseline.Production requires HTTPS and keeps self-registration off by default.
7. AdminCreates the first active administrator.Use a unique password; the Admin role receives existing web permissions.
8. BrandingUploads optional assets and chooses colours.The live preview reflects each valid colour before saving.
9. FinishLocks browser installation access.Lock the installer before using the login page.

cPanel deployment notes

Keep vendor, .env, and storage runtime files outside file-sync overwrite rules. Deploy application changes, run the release commands through the hosting terminal when available, and never publish database credentials in repository files. MySQL/MariaDB installation uses InnoDB and 191-character indexed strings for shared-hosting compatibility.

After installation

  1. Sign in with the administrator account.
  2. Review Settings, academy defaults, and role assignments.
  3. Run the security readiness check before a production release.
  4. Configure AI, payments, API access, and provider credentials only from protected Settings pages.
Developer note: the installer writes central-domain environment values and treats a one-domain deployment with no tenant-domain mappings as the central application. The browser installer is unavailable once its lock file exists.