CPANEL HOSTING SETUP GUIDE - Python 3.12.11

Use this ZIP for cPanel "Setup Python App".

1) Upload and Extract
   Upload all files into your app folder, for example:
   /home/USERNAME/system.360edgesolutions.lk/

2) cPanel > Setup Python App
   Python version: 3.12.11
   Application root: system.360edgesolutions.lk
   Application URL: your domain/subdomain
   Application startup file: passenger_wsgi.py
   Application Entry point: application

3) Create App, then open Terminal in cPanel

4) Activate virtual environment
   cPanel usually shows the exact command. Example:
   source /home/USERNAME/virtualenv/system.360edgesolutions.lk/3.12/bin/activate

5) Install requirements
   cd /home/USERNAME/system.360edgesolutions.lk
   pip install -r requirements.txt

6) Restart App
   In cPanel Python App page, click Restart.

7) Open site
   https://yourdomain.com/
   It should redirect to /login.

Default login:
   Username: kalana
   Password: K@lana#2025!

Important:
- Do NOT run "flask run" on cPanel.
- Do NOT run "python app.py" on cPanel.
- cPanel runs the app using passenger_wsgi.py.
- Keep orders.db inside the app folder unless you configure another path.
- logs/error.log stores server errors.
- logs/startup_error.log stores Passenger startup errors.
- If you see timeout/loading, check stderr.log and logs/startup_error.log.

Recommended cPanel Environment Variables:
   SECRET_KEY = generate-a-long-random-secret
   FLASK_ENV = production

Common Error Fixes:
1) /opt/alt/python312/bin/lswsgi not found
   This is hosting Python/LiteSpeed config issue, not Flask code.
   Try Python 3.11 or ask hosting provider to enable Python 3.12 Passenger/WSGI properly.

2) ModuleNotFoundError
   Activate venv and run:
   pip install -r requirements.txt

3) Database locked
   Shared hosting SQLite can lock under heavy use. For bigger use, migrate to MySQL later.
