MCQ Practice Portal v2.9.29 — Shared Hosting (cPanel)

Version: 2.9.29 (must match README, app, and manuals)

1. In cPanel create a MySQL database and MySQL user.
   Grant the user ALL PRIVILEGES on that database.

2. Upload/extract this package into the domain document root
   (or a subdomain folder, e.g. public_html/mcq/).

3. Ensure PHP has: PDO, pdo_mysql, mbstring, openssl, zip (ZipArchive).

4. NEW installation:
   - Open https://your-domain/install.php
   - Enter the EXISTING database name, username and password
   - Create your admin name, email and password
   - The installer does NOT create the MySQL database itself

5. Credentials are saved to config/database.local.php
   Do not delete that file. Do not upload it to public git repos.

6. After success: delete or rename install.php

7. EXISTING installation (update):
   - Do NOT run install.php again
   - Preserve config/database.local.php
   - Overwrite PHP/assets/sql files from the new package
   - Run any new sql/migrate_*.sql scripts if listed in CHANGELOG

8. First admin steps:
   - College Profile (logo, open practice, practice defaults)
   - Departments → Subjects → Units
   - Import or add questions
   - Import managed students (Admin only)
   - Create Test Templates

9. Open Practice (other colleges):
   - Enabled by default; control under College Profile
   - Login: Email + Registration number
   - Not restricted by campus IP allow-list

10. Managed students (your college):
    - Login: Register Number + Registered Mobile Number
    - Import via Admin → Import students only

Support files: INSTALL.txt, docs/ manuals (PDF + DOCX)
