TSN Digital Academy — Deploy on cPanel
Follow these steps on shared hosting with cPanel Setup Python App.
ZIP contents
START-HERE.html — this file
CPANEL-DEPLOY.txt — same steps as plain text
Main Files/ — upload everything inside this folder
Documentation/ — docs + full Admin Guide (HTML)
Step 1 — Create MySQL database (recommended)
- cPanel → MySQL® Databases
- Create a database (e.g.
academy)
- Create a MySQL user with a strong password
- Add the user to the database with ALL PRIVILEGES
- Note the full names (often
cpaneluser_dbname / cpaneluser_dbuser)
Step 2 — Create Python App
- cPanel → Setup Python App → Create Application
- Python version: 3.10+ (3.11 or 3.12 if available)
- Application root: e.g.
academy (folder where files will live)
- Application URL: your domain or subdomain
- Application startup file:
passenger_wsgi.py
- Application Entry point:
application
- Click Create
Step 3 — Upload files
- Open File Manager → go into the Application root folder
- Upload all contents of
Main Files/ (not the folder name itself)
- You should see
manage.py, passenger_wsgi.py, apps/, config/, etc.
- Do not upload a local
.env, venv/, or db.sqlite3
Step 4 — Install packages
- In Setup Python App, copy the command under Enter to the virtual environment
- Open Terminal (or SSH), paste that command, press Enter
- Run:
cd ~/academy
pip install -r requirements.txt
python manage.py collectstatic --noinput
(Replace ~/academy with your real application root.)
Step 5 — Restart & install
- Back in Setup Python App → Restart
- Open
https://YOUR-DOMAIN/install/
- Complete the wizard (choose MySQL and enter the DB details from Step 1)
- Log in with the admin account you created in the installer
After install
- Dashboard → Admin Guide (full how-to for every module)
- Academy Settings → branding, payments, Email/SMTP
- Create a course → import questions → enable Free skill check if needed
If the site shows an error after upload
- Confirm
passenger_wsgi.py is the startup file and Entry point is application
- Confirm
pip install -r requirements.txt finished without errors
- Folders
media/, logs/, storage/, staticfiles/ must be writable (755/775)
- Restart the Python app again
More detail: CPANEL-DEPLOY.txt ·
Documentation ·
Admin Guide