Installing WordPress manually in cPanel takes a little longer than using an auto-installer, but it teaches you how WordPress actually works: files on the server, a MySQL database, and a configuration file that connects the two. It is also the method to use when your host does not offer Softaculous. This guide takes you through each step, from downloading WordPress to running the famous five-minute installer.
What you need before you begin
- Access to your cPanel account (username and password).
- A domain that already points to your hosting account.
- About 15–20 minutes and a simple text editor, or cPanel’s built-in editor.
- Ideally, an active SSL certificate. Check SSL/TLS Status in cPanel first so you can install on
https://from the beginning.
Here is an overview of the whole process:
| Stage | Where you do it | Result |
|---|---|---|
| 1. Download WordPress | wordpress.org, on your computer | A ZIP file of the latest version |
| 2. Upload and extract | cPanel → File Manager | WordPress files inside public_html |
| 3. Create database and user | cPanel → Manage My Databases or Database Wizard | Empty database with a user that has full privileges |
| 4. Configure wp-config.php | File Manager editor, or the installer | WordPress knows how to connect to the database |
| 5. Run the installer | Your browser | Working site with an admin account |
Step 1: Download WordPress
Go to the official website, wordpress.org, and download the latest version. You will get a ZIP file named something like wordpress-6.x.x.zip. Always download WordPress from the official site; copies from other websites can contain hidden malware. There is no need to extract the ZIP on your computer, because cPanel can extract it on the server, which is much faster than uploading thousands of small files.
Step 2: Upload and extract the files
- In cPanel, open File Manager under the Files section.
- Open the
public_htmlfolder, which is the root folder for your main domain. For an addon domain, open that domain’s document root instead (you can see it on the Domains page). - If the folder contains a default
index.htmlor old files you do not need, delete them or move them to a backup folder. - Click Upload in the toolbar, select the WordPress ZIP file, and wait for the progress bar to reach 100%.
- Go back to
public_html, right-click the ZIP file and choose Extract. Confirm the path is/public_htmland click Extract File(s).
The ZIP extracts into a folder called wordpress. If you leave it like that, your site will load at yourdomain.com/wordpress. To run the site on your main domain:
- Open the
wordpressfolder. - Click Select All, then Move.
- Change the destination path to
/public_htmland click Move File(s). - Delete the now-empty
wordpressfolder and the ZIP file.
Tip: File Manager hides files that start with a dot, such as
.htaccess. Click Settings in the top-right corner and tick Show Hidden Files (dotfiles) so you can see everything.
Step 3: Create the database and database user
WordPress stores posts, pages, settings and users in a MySQL (or MariaDB) database. The easiest way to create one is the Database Wizard, found in the Databases section of cPanel (some versions call it MySQL Database Wizard).
- Open Database Wizard.
- Step 1, Create A Database: type a name such as
wpand click Next Step. cPanel adds your account username as a prefix, so the full name becomes something likecpuser_wp. - Step 2, Create Database Users: enter a username such as
wpuserand use the Password Generator to create a strong password. Copy the password somewhere safe; you will need it shortly. Click Create User. - Step 3, Add User to the Database: tick ALL PRIVILEGES and click Next Step.
- Step 4: you will see a confirmation that the user was added to the database.
Write down three things exactly as cPanel shows them, including the prefix: the database name, the database username and the password. The database host on almost all cPanel servers is localhost.
Step 4: Configure wp-config.php
You have two choices here. The WordPress installer can create the file for you, or you can create it yourself. Both give the same result.
Option A: Let the installer create it
Visit https://yourdomain.com in your browser. WordPress will notice there is no configuration file, ask you to choose a language, then show a form asking for the database name, username, password, database host and table prefix. Enter your details, keep localhost as the host, and click Submit, then Run the installation. If WordPress cannot write the file because of permissions, it will show you the contents to paste in manually, which is Option B.
Option B: Edit the file yourself
- In File Manager, find
wp-config-sample.phpinpublic_html. - Right-click it, choose Rename, and rename it to
wp-config.php. - Right-click
wp-config.phpand choose Edit. - Replace the placeholder values with your own details, as shown below.
define( 'DB_NAME', 'cpuser_wp' );
define( 'DB_USER', 'cpuser_wpuser' );
define( 'DB_PASSWORD', 'your-strong-password' );
define( 'DB_HOST', 'localhost' );
Next, scroll down to the section called Authentication unique keys and salts. These random strings protect login cookies. Open api.wordpress.org/secret-key/1.1/salt/ in your browser, copy the eight lines it generates, and replace the matching lines in your file. You can also change the table prefix from wp_ to something like wpx7_ for a small extra layer of obscurity. Click Save Changes.
Tip: Be careful to keep the single quotes and semicolons. A missing quote is the most common reason for a blank white page after editing
wp-config.php.
Step 5: Run the WordPress installer
- Visit
https://yourdomain.com(orhttps://yourdomain.com/wp-admin/install.php). - Choose your language if asked.
- Fill in the Site Title, a unique Username (avoid
admin), a strong Password and Your Email. - Leave Search engine visibility unticked unless you want to keep the site hidden from Google while you build it. Remember to untick it later if you do tick it.
- Click Install WordPress, then Log In with your new details.
That is it. Your WordPress dashboard is now at yourdomain.com/wp-admin.
Recommended steps after installing
- Go to Settings → General and set the timezone (for India, choose Kolkata or UTC+5:30).
- Go to Settings → Permalinks and select Post name.
- Delete the sample post, sample page and unused themes.
- Check correct file permissions: folders are normally
755and files644.wp-config.phpcan be set to640or600on most servers for extra safety. - Check your PHP version in MultiPHP Manager and use a currently supported version.
- Set up a backup routine, either with cPanel’s Backup tool or a plugin such as UpdraftPlus.
Common problems and fixes
“Error establishing a database connection”
WordPress cannot log in to the database. Double-check the database name, username and password in wp-config.php, including the cPanel prefix. Make sure the user was actually added to the database with ALL PRIVILEGES in Manage My Databases. If you are unsure of the password, change the user’s password there and update the file.
Site shows a list of files or the old page
The files are probably still inside the wordpress subfolder, or an old index.html is taking priority over index.php. Move the files up and delete index.html.
White screen after editing wp-config.php
This usually means a syntax error. Re-open the file and look for a missing quote, bracket or semicolon near the lines you edited.
Upload fails or times out
Very slow connections can interrupt large uploads. Try again on a stable connection, or upload using an FTP client such as FileZilla with the FTP account details from cPanel’s FTP Accounts page.
Frequently asked questions
Is a manual install better than Softaculous?
Neither is better for the website itself; the WordPress files are identical. A manual install gives you full control and works on any host, while Softaculous is faster.
Can I install WordPress in a subfolder?
Yes. Simply extract the files into a folder such as public_html/blog and the site will load at yourdomain.com/blog.
What database host should I use?
On almost all cPanel servers it is localhost. If your host uses a separate database server, they will give you the hostname.
Do I need to change the table prefix?
It is optional. A custom prefix offers a little protection against automated attacks, but strong passwords and updates matter far more.
Conclusion
A manual WordPress install comes down to five steps: download, upload and extract, create a database, connect it with wp-config.php, and run the installer. Once you have done it once, it takes only a few minutes, and you will understand your website far better when it is time to troubleshoot, move or back it up.



