Every website on a cPanel server lives inside a cPanel account. The account owns the site's files, mailboxes, databases and DNS zone. You create accounts in WHM with one form. This guide explains each field, the options that matter and how to check the new account works.
Before you start
- Root or reseller access to WHM on a cPanel server running on a Linux VPS.
- At least one package. See create hosting packages in WHM.
- The domain name for the account, for example
example.com. It does not have to point at the server yet, but the site will not be public until it does.
Open Create a New Account
In WHM, go to Home » Account Functions » Create a New Account.
Domain information
- Domain: the main domain of the account, such as
example.com. Do not includewwworhttp://. - Username: WHM suggests one based on the domain. Usernames must start with a letter, use lowercase letters and digits, and are limited to 16 characters. They cannot be changed easily, so pick something stable.
- Password: click Password Generator for a strong one and store it in your password manager.
- Email: the account owner's contact email. cPanel sends quota warnings and notices there.
Tip: Do not use the server hostname as an account's domain. The hostname must stay separate from all website domains.
Package
Choose a package from Choose a Package. Ticking Select Options Manually lets you set limits for this account only, but those accounts are harder to manage later. Using packages keeps every account consistent.
Settings
- Dedicated IP: leave unticked to put the account on the server's shared IP. Tick it only if you have a free extra IP for this account.
- Shell Access: leave off unless the user needs SSH.
- cPanel Theme and Locale: the defaults are fine.
Mail routing settings
Choose how the server handles mail for the domain:
- Automatically Detect Configuration: cPanel decides from the domain's MX records. Use this in most cases.
- Local Mail Exchanger: this server always accepts mail for the domain.
- Remote Mail Exchanger: mail is handled elsewhere, such as an external email provider. Use this if the customer's mailboxes are not on your server.
- Backup Mail Exchanger: this server queues mail while the main mail server is down.
DNS settings
- Enable DKIM on this domain and Enable SPF on this domain: leave ticked. They help mail from the domain reach inboxes.
- Use the nameservers specified at the Domain's Registrar: tick this if the domain's DNS is hosted elsewhere, so cPanel does not overwrite the NS records with yours.
When the form is complete, click Create. WHM shows a progress log and a summary at the end.
Log in to the new account
You can open the account straight from WHM:
- Go to Home » Account Information » List Accounts.
- Find the account and click the cPanel icon next to it.
Or log in as the user at:
https://server.example.com:2083using the username and password you set.
Check it works
- cPanel opens and shows the expected disk and email limits in the sidebar.
- The account's files exist on the server:
ls -ld /home/exampleuser/public_html- The domain's zone exists and points at the server:
dig @127.0.0.1 example.com A +short- Once the domain's DNS points at the server,
http://example.comshows the default cPanel page until you upload a site.
Troubleshooting
- "The domain already exists": the domain or one of its subdomains is on another account or still has an old zone. Remove the leftover zone in Home » DNS Functions » Delete a DNS Zone if it is unused.
- "Username already exists" or is reserved: some names, such as
testorroot, are reserved. Pick another. - Site shows the server default page: DNS does not point at this server yet, or the account is on a different IP. Check the A record.
- Email does not arrive: mail routing is set to Remote while mailboxes are local. Change it in Email Routing in cPanel.
Next steps
- Change details later: modify a cPanel account.
- Secure the new site: set up AutoSSL in cPanel.
- Install a site quickly: install WordPress in cPanel.
