Two paths: WP Toolkit (one‑click) or Manual install (File Manager + MySQL)
Who is this for?
HostBible customers running standard cPanel hosting. Choose the quick WP Toolkit route if you want the fastest setup, or the Manual route if you prefer full control.
Before you start (quick checklist)
✅ Domain added in cPanel and pointing to this hosting.
✅ SSL/HTTPS available (cPanel → SSL/TLS Status → run AutoSSL; later we’ll force HTTPS).
✅ PHP 8.x selected (cPanel → MultiPHP Manager or Select PHP Version).
✅ You know your site’s document root (e.g.,
public_htmlfor the primary domain, or the addon domain’s doc root shown in Domains).
Path A — WP Toolkit (auto‑install, easiest)
Use this if you see WP Toolkit in your cPanel. It handles the install, hardening, and updates for you.
Open WP Toolkit
cPanel → WP Toolkit → Install WordPress.Choose where to install
Domain: pick the domain/subdomain.
Directory: leave blank to install in the root (e.g.,
example.com), or enter a folder (e.g.,blog).
Set up basics
Version: latest.
Language: your choice.
Site name: you can change this later in WordPress.
Admin account
Username: avoid “admin”.
Password: use a strong, unique password.
Email: an address you can access.
Database options (click Show advanced if needed)
Let WP Toolkit auto‑create a database, or set your own prefix (e.g.,
wp_ab12_).
Updates & security
Enable automatic updates for WordPress core, plugins, and themes.
Leave Search engine indexing on unless this is a private/staging site.
Install
Click Install. When finished, use Log in (SSO) to open the WordPress Dashboard.Post‑install hardening (recommended)
In WP Toolkit, open your site card → Check security → apply all recommended measures.
Force HTTPS: cPanel → Domains → toggle Force HTTPS Redirect for your domain.
Backups: in WP Toolkit → Back up / Restore → create a backup and set a schedule.
Staging / Cloning (if available on your plan): create a staging copy for safe testing.
You’re done! Skip to “Tune & maintain” below.
Path B — Manual install (cPanel File Manager + MySQL)
Use this if WP Toolkit isn’t available or you want hands‑on control.
1) Upload WordPress files
Download the latest WordPress.zip from wordpress.org to your computer.
cPanel → File Manager → open your site’s document root.
Click Upload, select the WordPress zip, then Extract it.
Move the contents of the extracted
wordpressfolder into your document root (avoid a nestedwordpress/directory).Delete the leftover zip to keep things tidy.
2) Create the database and user
cPanel → MySQL® Database Wizard.
Create Database: e.g.,
cpuser_wp1.Create User: e.g.,
cpuser_wpuserwith a strong password.Privileges: grant All Privileges to this user on the new database.
Note the exact DB name, DB user, and password.
3) Configure wp-config.php
In File Manager, find
wp-config-sample.phpin your document root.Rename it to
wp-config.php, then Edit and set your credentials:
define('DB_NAME', 'cpuser_wp1'); define('DB_USER', 'cpuser_wpuser'); define('DB_PASSWORD', 'yourStrongPasswordHere'); define('DB_HOST', 'localhost'); // If your host differs, use that value define('DB_CHARSET', 'utf8mb4'); $table_prefix = 'wp_ab12_'; // Change from 'wp_' to a randomised prefixAdd unique keys and salts. Generate fresh values from the official generator and replace the placeholders:
// Generate at: https://api.wordpress.org/secret-key/1.1/salt/ define('AUTH_KEY', '...'); define('SECURE_AUTH_KEY', '...'); define('LOGGED_IN_KEY', '...'); define('NONCE_KEY', '...'); define('AUTH_SALT', '...'); define('SECURE_AUTH_SALT', '...'); define('LOGGED_IN_SALT', '...'); define('NONCE_SALT', '...');(Optional) If you’ll set up a real cron, add:
define('DISABLE_WP_CRON', true);4) Run the installer
Visit
https://yourdomain.com/wp-admin/install.php.Set Site Title, Admin Username, Password, and Email.
Finish installation, then log in to
wp-admin.
5) Secure & finish
Force HTTPS: cPanel → Domains → toggle Force HTTPS Redirect.
File permissions:
Folders:
755Files:
644wp-config.php:640
Pretty permalinks: In WordPress → Settings → Permalinks → choose Post name and save (creates the correct
.htaccess).Backups: Use cPanel backups or a plugin; keep off‑site copies.
(Optional) Replace WP’s pseudo‑cron with a real cron
Improves reliability for scheduled tasks.
In
wp-config.php, ensure:
define('DISABLE_WP_CRON', true);cPanel → Cron Jobs → Add a cron: Every 5 minutes (or similar). Use one of these commands (adjust paths/domains):
PHP CLI approach (recommended):
php -q /home/CPANELUSER/public_html/wp-cron.php > /dev/null 2>&1
HTTP approach (alternative):
curl -s https://example.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
Tune & maintain (applies to both paths)
Updates: Keep core, plugins, and themes updated (auto‑updates recommended).
Email deliverability: Add an SMTP plugin and use authenticated SMTP or a transactional email service.
Performance: Use a caching plugin (only one), optimize images, and avoid heavy, unused plugins.
PHP settings (if needed): cPanel → MultiPHP INI Editor
memory_limit(e.g.,256M),upload_max_filesize,post_max_size,max_execution_time.
Security:
Use a unique admin username & strong passwords.
Enable 2FA via a security plugin.
Limit login attempts; disable file editing in the dashboard if not needed.
Common issues & quick fixes
Error establishing a database connection
CheckDB_NAME,DB_USER,DB_PASSWORD, andDB_HOSTinwp-config.php. Ensure the user has All Privileges on the DB.Blank page / HTTP 500
Temporarily rename the/wp-content/pluginsfolder to disable plugins. Review Errors under cPanel Metrics → Errors or enableWP_DEBUGtemporarily.Installer shows a directory index instead of WordPress
You likely left files inside a/wordpresssubfolder. Move them up into the document root.Permalinks not working
Set Settings → Permalinks again to generate.htaccess. Ensure Apachemod_rewriteis enabled on the server.Uploads too large
Increaseupload_max_filesizeandpost_max_sizein MultiPHP INI Editor; also check any plugin upload limits.
Snippets you might need
Default WordPress .htaccess (created automatically when you save permalinks; paste only if needed):
# WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>Need help?
If you’re stuck at any step, raise a ticket from your HostBible portal with the domain, cPanel username, and a brief description of where you’re blocked. We’ll get you moving again.
