If you run a website on a cPanel-based hosting plan, you have two main roads to getting WordPress installed: the one-click WordPress Toolkit installer or a manual installation. While the Toolkit is fast and convenient, knowing how to install WordPress manually in cPanel gives you finer control over configuration, database credentials, file permissions, and the core files themselves. This guide walks through the entire manual installation process step by step, from downloading the WordPress package to running the famous “five-minute install.”
Manual installation is especially useful when you need to set up a WordPress multisite network, use a custom database prefix, or configure advanced wp-config.php settings before the site ever goes live. It also helps you understand exactly where your files live and how the CMS connects to your database — knowledge that pays off when debugging issues down the road. Let’s get started.
Prerequisites: What You Need Before You Begin
Before touching the keyboard, make sure you have the following ready:
- A cPanel account with login credentials (typically
https://yourdomain.com/cpanelor a URL provided by your host) - A registered domain name pointing to your hosting account (or a subdomain / addon domain you plan to use)
- FTP credentials or the cPanel File Manager for uploading files to the server
- The latest WordPress zip package — download it from wordpress.org/download
That’s it. No additional tools or software are required. A stable internet connection and ten to fifteen minutes are all you need.
Step 1: Create a MySQL Database and Database User in cPanel
WordPress stores all of its content — posts, pages, user accounts, comments, and settings — in a MySQL database. Before installing the CMS, you need to create both the database and a user who can access it.
1.1. Open the MySQL Database Wizard
- Log into your cPanel dashboard.
- Scroll to the Databases section and click MySQL Database Wizard.
- This tool walks you through database creation, user creation, and privilege assignment in a single flow.
1.2. Name the Database and Create the User
In the wizard’s first step, enter a database name. cPanel prefixes it with your account username and an underscore — for example, youruser_wp_site. Keep it descriptive but short.
On the next screen, create a database user. Choose a strong password — ideally 16+ characters mixing uppercase, lowercase, digits, and symbols. You can use the built-in password generator and copy it somewhere safe.
1.3. Assign Privileges
The final wizard step asks you to set user privileges. Check the All Privileges box and click Next Step. WordPress needs full read and write access to the database to function correctly. Write down the three values you’ll need during installation:
- Database name (e.g.,
youruser_wp_site) - Database username (e.g.,
youruser_wp_admin) - Database password (the strong password you created)
Keep these handy — you’ll enter them during the WordPress setup screen.
Step 2: Download WordPress and Upload the Files
2.1. Get the Latest WordPress Package
Visit wordpress.org/download and download the latest version as a .zip file. The file is typically around 20–25 MB. Do not unzip it yet — uploading the zip to your server and extracting it there is faster than uploading individual files.
2.2. Upload via cPanel File Manager
- In cPanel, click File Manager under the Files section.
- Navigate to
public_html(or the document root folder for your domain). If you’re installing on a subdomain, navigate topublic_html/subdomainor the subdomain’s dedicated folder. - Click Upload in the toolbar and select the
wordpress.zipfile from your computer. - Wait for the upload to complete (typically 5–15 seconds on a decent connection).
- Once uploaded, close the upload dialog and return to the File Manager.
2.3. Extract the Archive
- Right-click the
wordpress.zipfile in File Manager and select Extract. - A dialog box confirms the extraction path — it should default to the current directory. Click Extract File(s).
- After extraction completes, you’ll see a new folder called
wordpresscontaining all the CMS files.
2.4. Move Files to the Document Root
If you want WordPress to load directly at yourdomain.com rather than yourdomain.com/wordpress/, you need to move the extracted files:
- In File Manager, navigate into the
wordpressfolder. - Select all files inside (not the folder itself — use Select All in the toolbar).
- Click Move and set the destination to
public_html/(or just../to go up one level). - Click Move File(s). All WordPress core files now live directly in your domain root.
- Optionally, delete the empty
wordpressfolder and thewordpress.ziparchive to keep things tidy.
Step 3: Run the WordPress Installation Script
With the files in place and the database ready, it’s time to run the installer.
- Open a browser and navigate to
https://yourdomain.com/wp-admin/install.php. - You’ll see the WordPress language selector. Choose your language and click Continue.
- WordPress checks that your server meets the minimum PHP and MySQL requirements. If everything is green, click Let’s go!
- On the database configuration screen, enter the three values from Step 1:
- Database Name:
youruser_wp_site - Username:
youruser_wp_admin - Password: the password you created
- Database Host: almost always
localhostfor cPanel setups - Table Prefix: Change
wp_to something unique likewp5s_for added security
- Database Name:
- Click Submit. If the credentials are correct, you’ll see a success message. Click Run the installation.
- The final screen asks for your site information:
- Site Title: Your website’s name
- Username: The admin username (avoid “admin” for security)
- Password: Use the strong auto-generated password or create your own
- Your Email: The admin email address for password resets and notifications
- Search Engine Visibility: Leave unchecked unless you want to block search indexing while building the site
- Click Install WordPress. Within seconds, you’ll see a success screen with a login button.
Step 4: Post-Installation Security and Configuration Tips
Before announcing your site to the world, take a few minutes to lock things down:
4.1. Set Correct File Permissions
In cPanel File Manager, right-click each WordPress folder and select Change Permissions. Recommended defaults:
- All folders:
755(drwxr-xr-x) - All files:
644(-rw-r–r–) wp-config.php:600or640(restrictive, since it contains database credentials)
4.2. Enable AutoSSL in cPanel
Under the Security section in cPanel, click SSL/TLS Status and then Run AutoSSL. This provisions a free Let’s Encrypt certificate for your domain so your site serves over HTTPS. A secure connection is essential for login forms, payment pages, and SEO rankings.
4.3. Install an SSL Plugin and Enable Updates
Log into your WordPress admin dashboard and check that automatic updates are enabled under Dashboard → Updates. Install a security plugin like Wordfence or Sucuri for firewall and malware scanning — many shared cPanel hosts benefit from this extra layer of protection.
Step 5: Troubleshooting Common Manual Installation Issues
Even with careful steps, things can go wrong. Here are the most common issues and how to fix them:
“Error Establishing a Database Connection”
This usually means the database name, username, or password in wp-config.php is incorrect. Open File Manager, edit wp-config.php, and verify all three values match what you created in the MySQL Database Wizard. Also confirm the database user has been assigned to the database with all privileges.
“Headers Already Sent” Warnings
This error points to whitespace or extra characters in wp-config.php — usually after the closing ?> PHP tag. Open the file and delete any blank lines or spaces at the very end. Better yet, simply remove the ?> at the end, as it’s optional in PHP files and leaving it out prevents this class of errors.
404 Errors on Inner Pages (Permalink Issue)
After installation, your homepage might load fine but inner pages return 404s. Log into the WordPress admin, go to Settings → Permalinks, select any option (e.g., “Post name”), and click Save Changes. This rebuilds the .htaccess rewrite rules. If the file is unwritable, you’ll see a code snippet — copy that into a new .htaccess file in your public_html folder via File Manager.
Key Takeaways
- Manual WordPress installation in cPanel gives you complete control over database credentials, file locations, and pre-install configuration — useful for multisite networks and custom setups.
- Always create the MySQL database and user before uploading WordPress files, using cPanel’s MySQL Database Wizard for a guided experience.
- Upload the whole WordPress zip and extract it on the server via File Manager — it’s faster than transferring hundreds of individual files over FTP.
- Set strong, unique passwords for both the database user and the WordPress admin account to reduce the risk of automated attacks.
- After installation, configure AutoSSL, correct file permissions (755 for folders, 644 for files), and a security plugin before promoting the site.
- If you encounter a database connection error on first run, double-check the credentials in
wp-config.php— a single typo is the most common cause.