Skip to content
Main site

Shared Host Installation

Before uploading KubikLMS, confirm the hosting account provides:

  • PHP 8.x
  • MariaDB or MySQL-compatible database access
  • HTTPS support for the final domain
  • a writable storage area for runtime files
  • the ability to upload and extract the KubikLMS release package

You also need the database connection details in advance:

  • host
  • port
  • database name
  • username
  • password

After purchase, sign in to your KubikLMS dashboard and download the latest release ZIP from the purchaser area.

Extract the ZIP locally before uploading it to your hosting account.

Inside the extracted package you should see:

  • public_html/
  • app/
  • sql/
  • storage/

Upload the extracted release package so that:

  • public_html/ becomes the web root
  • app/, sql/, and storage/ stay outside the public web root when the host allows it

If the host only supports a single deployable tree, keep the package structure exactly as shipped in the downloaded release.

PHP must be able to write to these paths:

  • storage/config/
  • storage/logs/
  • storage/sessions/
  • storage/cache/
  • storage/uploads/
  • storage/backups/
  • storage/plugin-packages/

If these paths are not writable, installation or runtime behavior will fail.

Open the installer in the browser:

/install.php

The setup wizard runs in three stages:

  1. Database
  2. Site & Admin
  3. Initialize

On a fresh install, provide:

  • DB host
  • DB port
  • DB name
  • DB username
  • DB password
  • site name
  • first admin full name
  • first admin email
  • first admin password

There is also an optional Install demo content checkbox. Keep it unchecked for production unless you intentionally want sample records.

The installer:

  • applies sql/schema.sql
  • applies sql/seed.sql
  • optionally applies sql/demo_seed.sql
  • creates the first admin account
  • writes storage/config/kubik.config
  • marks the site as installed

If storage/config/kubik.config already contains valid database details, KubikLMS can skip directly to the site and admin setup step.

After installation:

  1. Open the LMS homepage.
  2. Sign in with the admin email and password created during setup.

If login fails, verify:

  • the installer completed without database errors
  • storage/config/kubik.config exists
  • the database user has create, update, and insert privileges

KubikLMS public pages are server-rendered for SEO, including:

  • homepage
  • course listing
  • course detail
  • article listing
  • article detail
  • CMS page detail

If the public pages do not behave like a normal installed KubikLMS site, recheck that the packaged release was uploaded correctly and that the web root points at public_html/.

The most common causes of installation issues are:

  • wrong database credentials
  • the web root not pointing at public_html/
  • missing write permissions on storage/
  • stale files from a previous deployment
  • SMTP not being configured later, which breaks password reset and email workflows