Installing on cPanel
Oct 15, 2026
cPanel shared hosting is the main target for WHBMP. This is the full path from an empty account to a working install.
1. Pick the PHP version
- In cPanel open MultiPHP Manager and set the domain to PHP 8.2 or newer (8.3 or 8.4 recommended).
- Open MultiPHP INI Editor (or Select PHP Version > Options) and check that
memory_limitis at least 128M (the usual default) and setmax_execution_timeto 60 or more. - In Select PHP Version > Extensions tick everything listed in Requirements.
2. Create the database
In MySQL Databases:
- Create a database.
- Create a database user with a strong password.
- Add the user to the database with All Privileges. Forgetting this step is the most common reason for "Could not connect".
Write down the full names. cPanel prefixes them with your account name (account_dbname, account_dbuser).
3. Upload and extract
- Upload the WHBMP zip with File Manager.
- Extract it into the folder that will hold the application.
For the main domain this is normally public_html. For an add-on domain or subdomain it is the folder you chose when you created it.
4. Document root
The web server must serve the public folder. Two ways:
- Best: extract to
/home/ACCOUNT/whbmpand set the domain's document root to/home/ACCOUNT/whbmp/public(cPanel Domains). - If the root cannot change: extract so the
publiccontents sit inpublic_htmland the rest sits one level above, then edit the two paths inpublic/index.phpso they point at the folder withvendorandbootstrap.
Never leave the folders app, config, database, storage or the .env file inside a web-accessible folder.
5. Run the installer
Open https://your-domain.com/install and follow Installing WHBMP.
6. Cron and SSL
- Add the cron job in Cron Jobs.
- Use SSL/TLS Status to run AutoSSL so the site is served over HTTPS.
7. Check the account's limits
Some hosts disable functions or limit processes. Open System > System Health and Settings > System Information for the result. WHBMP does not need exec or proc_open: without them it backs up the database with its own PHP code instead of mysqldump.
Common cPanel problems
| Symptom | Cause and fix |
|---|---|
| 500 error right after upload | A wrong PHP version, a missing extension or unwritable storage. Read storage/logs/laravel.log. |
/install is a 404 |
The document root is not public, or .htaccess was not extracted (hidden files are off in File Manager). |
| Pages work but CSS is missing | The public/build folder was not uploaded. It must be in the package. |
| Cron "does nothing" | The wrong PHP binary. Use the CLI path shown in Automation Settings. |
| Email is not delivered | Use real SMTP in General Settings > Mail. See Email and SMTP. |