In this article we'll go over the basic process you would need to take if you have a single cPanel account, and you'd like to split that one account up into multiple cPanel accounts. You can only have multiple cPanel accounts on a VPS or dedicated server plan where you have access to WHM (Web Host Manager), and splitting up your domains into separate cPanel accounts can help you better organize your sites, and split up access between multiple end-users easily.

In the example below we will be taking our cPanel account userna1 which has the primary domain name set to PrimaryDomain.com and an addon domain of AddonDomain.com. We will split off the AddonDomain.com site into its own separate cPanel account so that we can give a developer full FTP and cPanel access to the site without having to worry about them being able to access anything on our PrimaryDomain.com account.

If you happen to have root access to your server, you'll probably be interested in our more advanced article on splitting a cPanel account into multiple accounts using SSH.

Both of our example sites are using WordPress so they have a MySQL database setup, they also have one e-mail account setup as well with mail in it.

  1. We want to first grab all of the content for the AddonDomain.com site via FTP. However we'll want to actually connect via FTP using the primary site's username, so in this case userna1. That way we can grab the mail files for that site as well.
  2. In this example we're connected using FileZilla, with the server's files on the right-hand side, and our local folders on the left. First we are going to right-click in the left-hand pane and select Create directory, in the pop-up to name the new directory we want to type in etc then click OK.
    filezilla-right-click-create-directory
  3. Again we are going to right-click in the left-hand pane and select Create directory, in the pop-up to name the new directory we want to type in mail then click OK.
  4. One last time we are going to right-click in the left-hand pane and select Create directory, in the pop-up to name the new directory we want to type in public_html then click OK.
  5. In both window panes navigate to the etc directories, then drag the server-side AddonDomain.com directory into our empty local etc one.
    filezilla-drag-etc-addondomain-directory
  6. In both window panes navigate to the mail directories, then drag the server-side AddonDomain.com directory into our empty local mail one.
    filezilla-drag-mail-addondomain-directory
  7. Now in both window panes navigate to the public_html directories, then drag the server-side AddonDomain.com directory into our empty local public_html one.
    filezilla-drag-public-html-addondomain-directory
  8. Now we want to also generate a backup of our MySQL database that we need for the site, in order to do this you'll want to Login to your cPanel.
  9. Once logged in, navigate down to the Files section then click on Backups.
    cpanel-click-on-backups
  10. Under the Download a MySQL Database Backup section click on the database you need to backup, in this case we'll be downloading the userna1_wrdp2 database. You should notice you can also download any Email Forwarders or Email Filters you had setup from the section as well.
    cpanel-click-on-userna1-wrdp2-database
  11. We should now have everything we need to recreate the site under a different account. The first thing you'll want to do is Log into WHM.
  12. In the top-left Find box type in Create, then click on Create a New Account.
    cpanel-click-on-create-new-account
  13. Now for the Domain: you'll want to enter your domain with a -temp.com suffix, that way we can test and get the account up and running prior to shutting down the real site. So in our example we're using AddonDomain-temp.com, you can then choose a username and password you'd like this new cPanel to use, and in the Choose a Package drop-down you'll want to select the default vps package or whatever custom package you might have set up.

    After entering in all the information scroll to the bottom of the page and click on Create

    cpanel-enter-temp-domain
  14. Now you'll want to connect to the new account you just created with FTP using one of your domain's as the hostname and your new username userna2 in this case. Next navigate to the etc directory in both windows, then drag the AddonDomain.com directory from the left pane into the right.
  15. filezilla-drag-etc-addondomain-directory-local
  16. Next navigate to the mail directory in both windows, then drag the AddonDomain.com directory from the left pane into the right.
    filezilla-drag-mail-addondomain-directory-local
  17. Now navigate to the public_html directory in both windows, then into the AddonDomain.com directory in the left-hand pane. Still in the left-hand pane hit Ctrl-A on your keyboard to select all files, then drag those files into the right pane.
    filezilla-drag-public-html-addondomain-directory-local
  18. Now you'll want to login to your cPanel with the new username you created.
  19. Under the Databases section click on MySQL Database Wizard.
    cpanel-click-on-database-wizard
  20. Enter in a database name, then click on Next Step.
    cpanel-create-a-database
  21. Enter in a database username and password, then click Create User.
    cpanel-create-a-database-user
  22. Place a check beside All Privileges, then click Next Step.
    cpanel-database-privileges
  23. Back at the cPanel home screen, under Databases, click on phpMyAdmin.
    cpanel-click-on-phpmyadmin
  24. From the left-hand menu, click on our userna2_wrdp1 database we created.
    phpmyadmin-click-on-userna2-wrdp1
  25. Click on the Import tab at the top, then click on Choose File to browse for the backup we created earlier.
    phpmyadmin-click-on-choose-file
  26. You should now see your selected backup filename, then click Go.
    phpmyadmin-backup-selected-click-go
  27. You should now notice the import was successful by the status message at the top, also our tables now display under our database in the left-hand menu.
    phpmyadmin-backup-restored
  28. Now because we switched cPanel usernames from userna1 to userna2 we need to update any database configuration scripts to use this new user so when we git rid of the old one it still can function on its own. 

    Back in cPanel, under the Files section click on File Manager.
    cpanel-click-on-file-manager
  29. In the pop-up select Home Directory, and then click Go.
    cpanel-click-on-home-directory-and-go
  30. In the left-hand pane click on public_html, then in the right-hand pane right-click on wp-config.php and then click on Edit. In the Text Editor window that pops-up, click on Edit.
    file-manager-edit-wp-config
  31. Find the database configuration lines, which in a WordPress wp-config.php script should look like:

    /** The name of the database for WordPress */
    define('DB_NAME', 'userna1_wrdp2');

    /** MySQL database username */
    define('DB_USER', 'userna1_wrdp2');

    /** MySQL database password */
    define('DB_PASSWORD', 'wordpress2');

    Now update these values with your new username and database name and password if you changed it:

    /** The name of the database for WordPress */
    define('DB_NAME', 'userna2_wrdp1');

    /** MySQL database username */
    define('DB_USER', 'userna2_wrdp1');

    /** MySQL database password */
    define('DB_PASSWORD', 'wordpress1');

    Finally click on Save Changes.

    file-manager-edit-wp-config-save
  32. Now you'll want to login to your original cPanel account again to remove the AddonDomain.com from the account, so that we can modify the one we created on our new account.

    To start this process under the Domains section click on Addon Domains.
    cpanel-click-on-addon-domains
  33. Beside AddonDomain.com click on Remove.
    cpanel-addon-domain-remove
    On the confirmation screen click on Remove "AddonDomain.com".
  34. Now that the domain is removed from our userna1 cPanel account, we'll want to log back into WHM so we can modify our userna2 account to use that domain.

    In the top-left Find box type in modify, then click on Modify an Account.
    whm-click-on-modify-an-account
  35. Click on our AddonDomain-temp.com domain, then click on Modify.
    whm-select-addon-click-modify
  36. Now change the domain entry in the Primary Domain: field to AddonDomain.com, then scroll to the bottom and click on Save. You should see a green Success! status display when it's done.

That should complete the process of splitting one cPanel account into multiple ones. After you've got everything running under the new separate cPanel account, you can go back through the original account and remove the files in the /etc, /mail, and /public_html directories for the old addon domain. You can also go remove the original MySQL database as well now that you have a separate standalone one for your new account.

Did you find this article helpful?

We value your feedback!

Why was this article not helpful? (Check all that apply)
The article is too difficult or too technical to follow.
There is a step or detail missing from the instructions.
The information is incorrect or out-of-date.
It does not resolve the question/problem I have.
How did you find this article?
Please tell us how we can improve this article:
Email Address
Name

new! - Enter your name and email address above and we will post your feedback in the comments on this page!

Related Questions

Here are a few questions related to this article that our customers have asked:
Ooops! It looks like there are no questions about this page.
Would you like to ask a question about this page? If so, click the button below!
Ask a Question
n/a Points
2014-08-15 11:58 am

Will the email accounts configured on email clients be compremized?

Staff
10,994 Points
2014-08-15 12:40 pm
Hello Mustafa,

Thank you for your question. This should not have an effect on email, unless you have dedicated/separate IP addresses assigned to the cPanel accounts. In this case, you would have to allow up to 24 hours for the IP change to propagate.

If you have any further questions, feel free to post them below.
Thank you,

-John-Paul
n/a Points
2014-10-24 1:27 am

Just wondering why the email address wouldn't be compromised?  I have email addresses set up with the original cPanel, but it doesn't feel like I'm really moving them at any point during this tutorial.  Are they being moved when I copy the contents of the "mail" folder? I can see how the mail itself is being moved that way, but not the email accounts themselves. How does that work?

Cheers,

Mike

Staff
20,848 Points
2014-10-24 8:06 am
Hello Mike,

When moving the etc folder, the email accounts themselves will be transferred to the new cPanel. This way there is no need to recreate them. The emails in the etc folder will also match the content in the mail folder so that each email gets the same data it had on the original cPanel.

Kindest Regards,
Scott M
n/a Points
2014-08-15 1:13 pm

Hi John,

Thank you for your quick response. 

Let me sketch the situation I'm in:

I have a VPS for my company and at the moment I have 1 Cpanel account with all my clients in it.This is good for the overview but bad for limiting their bandwidth, disk usage etc.So what I want to do is giving each of these addon domainnames a separate Cpanel. I'm following the guide now as we speak and I'll let you know.Kind regards,

n/a Points
2014-08-15 1:49 pm

Hi John,

So I have followed all the step but the website now shows an error page. Could you help me out here?

www.*******-****.nl

kind regards,

Mustafa

Staff
10,994 Points
2014-08-15 1:55 pm
Hello Mustafa,

Thank you for your question. I went to the website you provided, and it is not showing an error. Are you still having problems with the site at this time?

You may have to clear your browser cache, then revisit the site.

If you have any further questions, feel free to post them below.
Thank you,

-John-Paul
n/a Points
2014-08-15 2:56 pm

Hi John,

That was indeed the case. Anyways, great guide!!Helped a lot and your quick response was certainly a plus, thanks.Kind regards,

Post a Comment

Name:
Email Address:
Phone Number:
Comment:
Submit

Please note: Your name and comment will be displayed, but we will not show your email address.

8 Questions & Comments

Post a comment

Back to first comment | top

Need more Help?

Search

Ask the Community!

Get help with your questions from our community of like-minded hosting users and InMotion Hosting Staff.

Current Customers

Chat: Click to Chat Now E-mail: support@InMotionHosting.com
Call: 888-321-HOST (4678) Ticket: Submit a Support Ticket

Not a Customer?

Get web hosting from a company that is here to help. Sign up today!