If you are looking for part 1 click here.

In this post I will discuss how to get the correct permission for your WordPress Install as well as how to setup DNS, both in cPanel and externally.

Step 1: Cleanup unecessary files

If you followed the steps in part 1 you will have your WordPress site copied to the cPanel server. The first thing you will want to do is to cleanup the unnecessary Plesk files that were copied over. Basically anything that isn’t WordPress related. Be sure and double check that your site isn’t using the files before you delete anything, just to be safe.

You can do this through FTP, or through the cPanel file manager. I will be using the file manager because, for me, it is faster.

Go to “List Accounts” and locate the site you just imported in to cPanel. Click the cPanel icon next to the domain.

cPanel - List Accounts


Next, open the File Manager.

cPanel File Manager


Select the unnecessary files and delete.

cPanel File Manager Edit Screen


Plesk by default will have an index.html file in the web root directory, but how Plesk is setup it ignores index.html when an index.php file is present. cPanel does not. So if you’re site is not showing up it is probably due to the presence of an index.html file. There will also be other html files that can be deleted (300.html, 400.html, etc…).

After you have cleaned all the unneeded Plesk files you are now ready to make sure that WordPress file permissions are setup correctly.

Step 2: Fix permissions
When you install or transfer a WordPress site sometimes it doesn’t work as intended. You might not be able to upload media or install or update plugins. There can be any number of reasons why these things happen, I will cover how to troubleshoot these kind of problems in a future post, but for now we will assume it is due to a permissions conflict.

You can research what permissions you should use on a cPanel server and go through your folders and change the permissions manually, or you can just implement a script that will do it all for you. I believe you should always understand what you are doing, but if someone has come up with an easy solution why not use it?

Now the script that I am going to share with you assumes that your server is running suPHP or fastCGI. These require certain permission for WordPress to function properly.

Note: This is somewhat advanced. If you are not comfortable with command line ask your web host or server support to help you run the following script.

This solution comes via: Fix Permissions Script

Connect to your server via SSH.

wget boomshadow.net/tools-utils/fixperms.sh
sh ./fixperms.sh -a USER-NAME

The first line retrieve the script and downloads it to your server. Line 2 calls the script and applies it to an account username. This is the cPanel username, which is visible on the List Accounts page.

Permissions should be fixed. Now you need to test your site.

Step 3: Test site

In order to test the set you will need to edit your computer hosts file to test your site at its new server address (IP)

See this post for instructions on how to edit your hosts file: How to edit hosts file.

Once your hosts file is edited. Look through your site, both frontend and backend and make sure everything is as it should be. After your site passes the inspection you are ready to edit DNS and complete the migration process.

Step 4: Edit DNS
If you host DNS on your server you can edit it through cPanel. Take a look here: Edit DNS Zone

How do I know if where the DNS is hosted? You can use several tools to help answer this questions. Two popular sites are whatsmydns.net and intodns.com. Plug in your url and it will tell you where the NS records are hosted. It is usually hosted on your web server or where you registered your domain from.

If your DNS is hosting elsewhere you will have find the specific steps required by the service you are using.

Here are some popular Domain Name Registrars and how to edit DNS:

Godaddy: Managing DNS for Your Domain Names
Namecheap: How to change DNS servers for a domain
Name.com: Change name servers tutorial


By no means is this conclusive or fool proof. Every server setup is unique and not everything will be configured the same way mine is. Although not exhaustive, these tutorials should give you enough information to get you up and going. If it doesn’t, well just keep googling. There are people out there who always know more.