What is the Difference Between WHM and CPanel
The Web Host Manager (WHM) is the account management panel that allows the hosting provider to manager their customers' accounts. Creating new accounts and adjusting the limits for an account are just two examples of tasks that would be performed in WHM.
cPanel is the site management panel where each individual account holder controls the settings for their particular account. Creating e-mail accounts and managing their files for a particular domain, for example, would be tasks performed in cPanel rather than WHM.
You can create a new account in WHM, which has its own cPanel.
Creating a New Account in WHM
Before you can create a new account, you must create a package in WHM. Once the package is created, click "Create an Account" under the Account Functions tab.
When you have located and clicked on "Create a New Account," you will need to fill out several fields.
In this field, you must place the domain name which you are creating the cPanel for. If needed, you can create a cPanel account for a sub domain. You must not include www. in front of the domain which you are creating the cPanel for.
WHM will automatically suggest a username when you click this field. Usernames are limited to 8 characters and may not be any longer than that. You may not use hyphens ( - ), special characters or spaces in the username. Also, you cannot use the username of root as it is already taken by the server.
It is very important to use a unique, secure password when you create a cPanel account. The password should never contain the cPanel username in it. Never use your WHM password as the password for your customer's cPanel (not even as a default or temporary solution); doing so is a security risk. It is recommended to use the password generation tool. When you click on "Generate Password," a pop up box will appear that will allow you to choose what types of characters and how long the automatically generated password will be.
The email address is used by the WHM for automatic notification of issues with the account. If you want to receive these emails, simply enter your own email address instead of the account holder's email address. Note: WHM will automatically send an email to your primary domain's contact email address with the account information when any account is created. No notice will be sent to the account user.
Packages are a preset list of limits and settings that can be applied to the accounts you create. Packages created using a reseller account will be automatically prefixed with your reseller username and an underscore ( _ ). This is to prevent package name collisions with other users' packages on a server.
This setting has a check labeled, "Use the nameservers specified at the Domain's Registrar. ( Ignore locally specified nameservers. )" This field is to specify if the domain should use it's own private nameservers or if it should use the locally configured shared nameservers. If you have specified private nameservers for the domain of this new cPanel account and these private nameservers have already been configured at the registrar, check this option so that the WHM will set the DNS for the private nameservers in the zone correctly. Otherwise, leave this box unchecked to use the default nameservers configured in the server configuration.
Now click on the "Create" button to finish the account creation process.
Login to WHM.
Note: This will override the settings in a package if one is assigned to the account. However, changing the settings in a package will automatically overwrite any custom changes that are set here. To avoid this, it is recommended that you create a new package with the new settings, then switch the package for the account to this new package instead of modifying the quota here.
Tip: For special packages that are only meant for one account, it is recommended that you name the package after the domain or user for which it is assigned as a matter of convention.
Tip: If the change is meant to be temporary, simply re-assign the package to the account using the Upgrade/Downgrade an Account option located in the Account Functions section to revert the disk space quota back to the original setting in the package.
To manually change the bandwidth quota of an account:
Note: On reseller accounts, monthly bandwidth are strictly enforced as to not allow "overselling." This means that the sum of the quotas for monthly bandwidth usage allocated for all accounts cannot exceed the overall monthly bandwidth quota assigned to the reseller according to the reseller package selected by the reseller.
Tip: This will only override the default setting for the bandwidth quota in this package for this account. If the change is meant to be temporary, simply re-assign the package to the account using the Upgrade/Downgrade an Account option to revert the bandwidth quota back to the original setting in the package.
I upgraded the bandwidth or disk space on my packages and my sites are not updating
There could be situations where the bandwidth and disk space limit of packages are updated and these updates do not reflect on the individual sites hosted under those packages
This could reflect in my sites not showing up with the new stats?
Whenever you adjust a package, the changes should affect all cPanel accounts using that package.
If a cPanel is not changing, you can expedite this process by following these steps:
Inside WHM, go to Account Functions, Upgrade/Downgrade an Account.
Select the domain which will not change and click the Modify button.
Leave the same package selected, and hit the Upgrade/Downgrade button.
Check the results.
How to copy a website from one server to another
Now, let's face the process of copying a website to another server using cPanel. These steps should work for copying an account from any cPanel server version 3.0 or later.
However if you are copying the account from a cPanel server newer than 11.24.1, this method has the benefit of utilizing the cPanel XML-API to generate the backup, which is much more reliable and operates the same way as if you tried to copy an account from another server with root access.
Also read: CPanel Account Information Tutorial
Log into WHM.
In the top-left Find box type in transfer
Important! if you're not seeing the Transfer option, be sure you logged in with your root user.
Domain: Fill in the domain name of the cPanel account you'd like to copy over.
Server to copy from (IP or FQDN): Enter in either your domain name, or your remote server's IP address.
Username to copy: Enter the cPanel username of the account you're copying over, followed by that account's password.
Also read: How to Create an Additional FTP Account in CPanel
If you happen to have free additional IP addresses assigned on your server. You can select Give new account an IP address to have it automatically assigned one of those available IP addresses.
By default Permit failback to old system should be selected. Please note as mentioned in the notice at the top of the account copy page that this isn't ideal, but if it's the only option you have hopefully it will still work for your account.
cPanel will now try to go out to the remote cPanel server and copy over the account you've specified. In this case you can see that because the old cPanel server is also a newer version it's using the cPanel XML-API for the backup process.
It will keep checking on the old server every minute to see if the backup has completed. While the copy process is taking place DO NOT close your web-browser.
Depending on the size of your account the backup and copy process could take from a minute to much longer. Once it's done you'll see a Account Restored! message at the bottom of the page..
Also read: How to download a home directory backup in cPanel
While you're still in WHM, up in the top-left Find box
Type in list, then click on List Accounts.
You should now see the account that we copied over userna1 on your server:
Now that you've successfully copied over your account from an old server to your new server, you'll want to be sure to check it on the new server using the temporary URL, or by modifying your local hosts file.
Once you've verified that everything seems to be properly copied over you'll want to update your domain's name servers to point to us so that when people try to access your domain name the new IP address of your new server is where they're getting directed to.