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โ
- In cPanel, click MySQL Databases.
- Create a new database, e.g.
username_leadhub. - Create a new database user, e.g.
username_lhuser, with a strong password. - Add the user to the database and grant All Privileges.
- Note down: database name, username, password, and host (usually
localhost).
Step 2 โ Upload the Filesโ
Option A โ File Manager:
- Go to cPanel โ File Manager.
- Navigate to
public_html/(or a subdirectory if you want LeadHub in a folder). - Click Upload and upload the LeadHub ZIP file.
- After upload, right-click the ZIP โ Extract to
public_html/.
Option B โ FTP:
- Use FileZilla or any FTP client.
- Connect to your hosting with your FTP credentials.
- Upload all files from the extracted LeadHub folder directly into
public_html/.
โ ๏ธ Make sure
index.phpis directly inpublic_html/โ not inside a subfolder.
Step 3 โ Set Permissionsโ
In cPanel File Manager:
- Select the
storage/folder โ right-click โ Change Permissions โ set to755, check Recurse into subdirectories. - 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โ
- In cPanel, click Cron Jobs.
- Under Add New Cron Job, set Common Settings to "Every Minute (
* * * * *)". - In the Command field, enter:
/usr/bin/php /home/yourusername/public_html/cron.php >> /dev/null 2>&1Replace
yourusernamewith your actual cPanel username and adjust the path if LeadHub is in a subdirectory. - 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:
- Upload files to
public_html/leadhub/. - During installation, set App URL to
https://yourdomain.com/leadhub. - The cron path becomes
/home/yourusername/public_html/leadhub/cron.php.
Subdomain Installationโ
To install LeadHub at app.yourdomain.com:
- In cPanel โ Domains (or Subdomains), create
app.yourdomain.compointing to e.g.public_html/leadhub/. - Upload files to
public_html/leadhub/. - Set App URL to
https://app.yourdomain.com.
PHP Version Checkโ
If your cPanel has MultiPHP Manager:
- Go to MultiPHP Manager.
- Find your domain/subdomain.
- Select PHP 8.4 (or the highest 8.x available).
- Save.
Common cPanel Issuesโ
| Problem | Solution |
|---|---|
.htaccess not working | Enable mod_rewrite via cPanel โ Apache Handlers, or contact host |
| 500 Internal Server Error | Check storage/logs/laravel.log in File Manager |
| PHP extension missing | cPanel โ Select PHP Version โ enable the missing extension |
| Queue not running | Verify cron path โ use the exact path from System Health |
| File permissions denied | Set storage/ and bootstrap/cache/ to 755 recursively |