TSN Digital Academy — Deploy on cPanel

Follow these steps on shared hosting with cPanel Setup Python App.

ZIP contents

Step 1 — Create MySQL database (recommended)

  1. cPanel → MySQL® Databases
  2. Create a database (e.g. academy)
  3. Create a MySQL user with a strong password
  4. Add the user to the database with ALL PRIVILEGES
  5. Note the full names (often cpaneluser_dbname / cpaneluser_dbuser)

Step 2 — Create Python App

  1. cPanel → Setup Python App → Create Application
  2. Python version: 3.10+ (3.11 or 3.12 if available)
  3. Application root: e.g. academy (folder where files will live)
  4. Application URL: your domain or subdomain
  5. Application startup file: passenger_wsgi.py
  6. Application Entry point: application
  7. Click Create

Step 3 — Upload files

  1. Open File Manager → go into the Application root folder
  2. Upload all contents of Main Files/ (not the folder name itself)
  3. You should see manage.py, passenger_wsgi.py, apps/, config/, etc.
  4. Do not upload a local .env, venv/, or db.sqlite3

Step 4 — Install packages

  1. In Setup Python App, copy the command under Enter to the virtual environment
  2. Open Terminal (or SSH), paste that command, press Enter
  3. Run:
    cd ~/academy
    pip install -r requirements.txt
    python manage.py collectstatic --noinput
    (Replace ~/academy with your real application root.)

Step 5 — Restart & install

  1. Back in Setup Python App → Restart
  2. Open https://YOUR-DOMAIN/install/
  3. Complete the wizard (choose MySQL and enter the DB details from Step 1)
  4. Log in with the admin account you created in the installer
After install
  1. Dashboard → Admin Guide (full how-to for every module)
  2. Academy Settings → branding, payments, Email/SMTP
  3. Create a course → import questions → enable Free skill check if needed
If the site shows an error after upload

More detail: CPANEL-DEPLOY.txt · Documentation · Admin Guide