This is a guide to setting up a new WHM/cPanel server to be used for a dedicated server web hosting account.
From the Beginning
WebHostManager(WHM) is a common linux based tool for managing websites on a server. cPanel is a common control panel used to manage an individual website. It allows you to add email accounts, view stats, make backups, install programs, and more. These two tools are the most inexpensive set used commonly to manage hosting accounts, and you will find them very prevalent in the budget shared hosting world.
After you order a dedicated server you will receive a welcome email with the details of the server, including the server name, IP addresses, and root password. This information will allow you to set up and configure WHM so that you can host websites and use your own custom domain nameserver instead of a raw IP address.
Set It All Up
The first thing you need to do is set up WebHostManager(WHM). This includes configuring the default domain nameservers, main IP address, and server contact email address.
- Login to root WHM (http://yourdomain.com:2086)
- In the left margin, click Next to run the setup wizard
- Agree to the end-user license agreement
- Edit setup
- Server contact email address: firstname.lastname@example.org
- Default Cpanel theme: x
- Default home directory: /home
- Home directory prefix: home
- Main shared virtual host IP: xx.xxx.xxx.xx (should be main IP of server)
- Hostname: server.yourserver.com
- Primary nameserver: dns1.yourserver.com
- Secondary nameservers: dns2.yourserver.com
- Leave everything else unchanged
- Click Save
Next, you need to set up the system quota. To set up the system quota:
- Click Next Step in left margin so that the system sets up initial quota (no need to wait for initial quota to setup)
- Click Next Step again
- DO NOT enable namesever
- Click Next Step again
Now we need to set up the Resolver. This is specific to your datacenter and the information will be provided in the details within your welcome email.
To set up the Resolver:
- Click Continue
- Primary Resolver: xx.xx.xx.xx (this is datacenter specific)
- Secondary Resolver: xx.xx.xx.xx (this is datacenter specific)
- Tertiary Resolver: leave blank
- Click Continue
- Click Next Step
Note: it is not necessary to enter a MySQL root password.
- Click Finish
Initial setup is done, and you should now be able to login to root WHM. Now you can create the accounts needed to setup the nameservers that you want to use on this dedicated server.
To set up the accounts so that you can create the nameservers for your server:
- Log in to root WHM again
- Click Create a New Account (this is to be the main account: 'yourserver.com')
Note: do not give this account a dedicated IP. It will use the main server's shared IP address.
- Under IP Functions, click Show IP address usage
If only the main server IP is listed, that means you have to add the additional IP address to the server.
- Click Add a New IP address and enter 'xx.xx.xx.xx-xx'
- Leave subnet mask unchanged, and click Do It
- Click Show/Edit Reserved IPs
- Check an IP to reserve it and enter a reason (like 'dns2.yourserver.com')
- Under DNS Functions click Edit DNS Zone, then select yourserver.com and click Edit (use the main IP address for the first two lines and the next IP address assigned to the server for the third line)
- Under Add new entries below this line, enter:
server 14400 IN A xx.xx.xx.xx (leave far right box blank)
dns1 14400 IN A xx.xx.xx.xx (leave far right box blank)
dns2 14400 IN A xx.xx.xx.xx (leave far right box blank)
Note: The above entries are DNS entries for the two nameservers being created, and the sever name 'server.yourdomain.com'. Once you've enter the three entries, click Save.
If you get an 'Error reloading BIND' error, go to Restart Services and click DNS Server (BIND), then click YES to restart Bind.
That's it! Now the server is all setup and ready to host cPanel hosting account with the nameservers 'dns1.yourserver.com' and 'dns2.yourserver.com'. Of course you still need to go to your registrar and register these two new nameservers and wait for normal propagation of 24-48 hours until the new nameservers will work.
If this is a server being setup for a dedicated customer, be sure to tell them:
- IP addresses of nameservers so he can register them with his registrar
- Root login information
- Login info of main account you created for him
- Tell him NOT to delete the main account, since doing so will also delete the DNS zones you setup above
- New DNS zones should be added to the old server to help with DNS propagation