Skip to main content

Shared Hosting Guide

This guide walks through installing LeadHub on a typical cPanel shared hosting account. No SSH, no terminal, no root access required.


What You'll Useโ€‹

  • cPanel File Manager (or FTP)
  • cPanel MySQL Databases
  • cPanel Cron Jobs
  • A web browser

Step 1 โ€” Create the Databaseโ€‹

  1. In cPanel, click MySQL Databases.
  2. Create a new database, e.g. username_leadhub.
  3. Create a new database user, e.g. username_lhuser, with a strong password.
  4. Add the user to the database and grant All Privileges.
  5. Note down: database name, username, password, and host (usually localhost).

Step 2 โ€” Upload the Filesโ€‹

Option A โ€” File Manager:

  1. Go to cPanel โ†’ File Manager.
  2. Navigate to public_html/ (or a subdirectory if you want LeadHub in a folder).
  3. Click Upload and upload the LeadHub ZIP file.
  4. After upload, right-click the ZIP โ†’ Extract to public_html/.

Option B โ€” FTP:

  1. Use FileZilla or any FTP client.
  2. Connect to your hosting with your FTP credentials.
  3. Upload all files from the extracted LeadHub folder directly into public_html/.

โš ๏ธ Make sure index.php is directly in public_html/ โ€” not inside a subfolder.


Step 3 โ€” Set Permissionsโ€‹

In cPanel File Manager:

  1. Select the storage/ folder โ†’ right-click โ†’ Change Permissions โ†’ set to 755, check Recurse into subdirectories.
  2. Do the same for bootstrap/cache/.

Step 4 โ€” Run the Installerโ€‹

Open your browser and go to:

https://yourdomain.com/install

Complete the wizard following the Installation guide.


Step 5 โ€” Set Up the Cron Jobโ€‹

  1. In cPanel, click Cron Jobs.
  2. Under Add New Cron Job, set Common Settings to "Every Minute (* * * * *)".
  3. In the Command field, enter:
    /usr/bin/php /home/yourusername/public_html/cron.php >> /dev/null 2>&1

    Replace yourusername with your actual cPanel username and adjust the path if LeadHub is in a subdirectory.

  4. Click Add New Cron Job.

Step 6 โ€” Verify the Cron is Runningโ€‹

After 2-3 minutes, in the LeadHub Super Admin panel go to System Health. The queue status should show green. If it shows "queue not running", re-check the cron path.


Installing in a Subdirectoryโ€‹

If you want LeadHub at yourdomain.com/leadhub/ instead of the root:

  1. Upload files to public_html/leadhub/.
  2. During installation, set App URL to https://yourdomain.com/leadhub.
  3. The cron path becomes /home/yourusername/public_html/leadhub/cron.php.

Subdomain Installationโ€‹

To install LeadHub at app.yourdomain.com:

  1. In cPanel โ†’ Domains (or Subdomains), create app.yourdomain.com pointing to e.g. public_html/leadhub/.
  2. Upload files to public_html/leadhub/.
  3. Set App URL to https://app.yourdomain.com.

PHP Version Checkโ€‹

If your cPanel has MultiPHP Manager:

  1. Go to MultiPHP Manager.
  2. Find your domain/subdomain.
  3. Select PHP 8.4 (or the highest 8.x available).
  4. Save.

Common cPanel Issuesโ€‹

ProblemSolution
.htaccess not workingEnable mod_rewrite via cPanel โ†’ Apache Handlers, or contact host
500 Internal Server ErrorCheck storage/logs/laravel.log in File Manager
PHP extension missingcPanel โ†’ Select PHP Version โ†’ enable the missing extension
Queue not runningVerify cron path โ€” use the exact path from System Health
File permissions deniedSet storage/ and bootstrap/cache/ to 755 recursively