VELLIX POINT — cPanel one-shot deploy (no shell required) ======================================================== PART A — Before uploading ------------------------- 1. In cPanel → "MySQL® Databases": - Create the database : leomclxr_vellix_point - Create the user : leomclxr_vellix_point_user - Set the password to the one in the shipped .env (or, if cPanel forces different credentials, edit the .env in this zip before going live — the app reads .env at runtime). - Add the user to the database with ALL PRIVILEGES. 2. DNS / SSL: - Add a single DNS A record pnt.vellixglobal.com → this server's IP (the bare domain — tenant workspaces live under //app paths now, no subdomains, no wildcard certificate). Optionally add A records for any future hosts — there is only one app host in this topology (docs/path-based-tenancy-plan.md Phase 7). 3. In cPanel → "Domains": the pnt.vellixglobal.com document root must be /public — never the Laravel project root. No wildcard subdomain or admin subdomain hosts are needed. PART B — Upload & install ------------------------- 4. Upload this zip and extract it inside your app folder, e.g. ~/vellix (NOT inside public_html — the document root must stay /public). 5. Ensure storage/ , public/storage/ and bootstrap/cache/ are writable by the PHP user. cPanel defaults are normally fine; if you see permission errors, set them to 755/775. This zip does NOT include vendor/. Before step 6, install PHP dependencies on the target: - With SSH: cd into the extracted app folder and run `composer install --no-dev --optimize-autoloader --classmap-authoritative`. - Without SSH: rebuild locally with `php artisan release:build --vendor` and re-upload, or use your host's Composer/terminal tool if cPanel provides one (Setup Node.js/PHP App, Terminal, etc). 6. Migrate the database. This release does NOT ship a SQL dump — run the migrations (and any seeders you need) against the database you created in Part A yourself, e.g. via SSH (`php artisan migrate --seed`) if your host provides shell access, or via a one-off deploy script / CI job if it doesn't. Do this before hitting the app in a browser. 7. Done. No other `php artisan` commands need to run on the server — the .env is already filled in (APP_KEY, DB, tenancy domains) and the front-end is pre-compiled in public/build (no Node on the server). 8. REQUIREMENTS: the server must run PHP 8.2+ (cPanel → "MultiPHP Manager", select the PHP version for this domain/account) and the MySQL database must use utf8mb4 (the default). PART C — Notes -------------- - MAIL_* still contains : email (OTP login, notifications) is inactive until you paste real SMTP credentials into .env. - SESSION_DOMAIN=null and SESSION_PATH=/ are pre-set: one session per browser. Visiting a different tenant's workspace signs that session out (by design — docs/path-based-tenancy-plan.md Phase 3). - Queues run synchronously (QUEUE_CONNECTION=sync) — no worker needed on shared hosting. - Uploaded tenant files are stored under public/storage (real directory), so /storage/... URLs work without storage:link. - Whatever seeder/provisioning step creates your first tenant and landlord admin accounts is now on you to run and record — this build no longer generates or prints any credentials.