Installation — shared hosting (cPanel)
Self-hosted buyers only: This page explains how to install the purchased Calbok package on your own server. Hosted Calbok customers do not need these steps. Visit the hosted Calbok site instead.
Step 1 — Upload
- Extract the release ZIP locally.
- Upload the entire application folder to your account home (for example
~/calbok/), not directly intopublic_html. Your.envandstorage/must stay outside the web root. - In cPanel → Domains → Document Root, point the domain at
calbok/public(so only thepublic/folder is web-accessible).
Why not
public_htmlalone? Uploading onlypublic/intopublic_htmlwhile leaving.envone level up is easy to misconfigure. A dedicated app folder plus a document root of…/calbok/publickeeps secrets out of the HTTP path.
Step 2 — Create the database
In cPanel → MySQL Databases (or PostgreSQL):
- Create a new database (e.g.
youruser_calbok). - Create a database user and grant it ALL privileges on that database.
Step 3 — Run the web installer
You do not need to hand-edit dozens of .env keys — the installer writes database
settings, APP_URL, cache/queue drivers, and optional SMTP for you.
Navigate to https://your-domain.com/install. The installer has four steps:
| Step | What it does |
|---|---|
| 1 Check | PHP/extensions and writable folders. |
| 2 Database & site | Database credentials, site URL, optional advanced settings — tests the DB, saves .env, runs migrations automatically. |
| 3 Your account | Creates your Operator login; optional demo data and purchase code. |
| 4 Done | Shows any capability warnings, then locks the installer and displays the cron line using your server's real PHP path. |
Fix any FAIL (red) items before you finish. WARN (yellow) items do not block installation.
After Finish, /install returns 403. You do not need to delete any installer files.
Step 4 — Cron
Copy the cron line from the installer's Done screen (it uses the real PHP binary path on
your server). On RunCloud the path often looks like
/RunCloud/Packages/php83rc/bin/php — use whatever your panel shows, not a generic php
from PATH.
Example shape (paths vary by host):
* * * * * /RunCloud/Packages/php83rc/bin/php /home/USER/calbok/artisan schedule:run >> /dev/null 2>&1
See Cron and queue for details.
Storage link (if uploads 404)
The installer runs php artisan storage:link automatically (best-effort). If branding or
business logos 404 after install, run once from SSH or cron:
php artisan storage:link