How to Setup cPanel DNSONLY on a Fresh Server

Posted on Updated on

As a web host or reseller, it’s a good idea to separate your DNS functionality from your primary server. In order to create a robust architecture, you want to isolate important aspects of your web hosting so that the failure of one doesn’t necessarily affect the other. DNS functionality is such an important part of web hosting, that it deserves a separate architecture all by itself. For this reason, it makes sense to set up at least a pair of dedicated DNS servers. While you can configure one of them using WHM, you can maintain the other as a mirror in case the first goes down. For this latter purpose, we can use a free product known as cPanel DNSONLY.

DNSONLY is nothing but a striped down version of WHM. After installation, you will see the familiar WHM interface, but one which is missing most of the advanced functionality. Even the ability to edit the DNS zone files needs to be done manually by changing the files since it’s inaccessible via the GUI after the initial setup. Let’s look at how to install DNSONLY and configure it to run as a name server. Later on, we’ll take a look at how to add clustering and set it up so that it receives updates from a synchronized remote nameserver.

Installing DNSONLY

You can set up DNSONLY for free on a clean server installation without any prior content. For this, you need root SSH access. If you or your administrator has disabled root logins, you’ll need to assign yourself root permissions once you’re in by typing:

su - root

Followed by the root password. Once you’re in, install DNSONLY by typing in the following commands one by one:

# cd /root/temp
# wget
# chmod 0755 cpanel-dnsonly-install.sea
# ./cpanel-dnsonly-install.sea

Once you’re done with the last one, the installation of DNSONLY will start. Sit back and relax – this will take a good long while – 20 or 30 minutes at the very least. Once done, open a new browser window and type in the IP address of your VPS or dedicated server followed by the port number “2087”. So if your address is, your address will be:

You will now see the login screen for WHM.

whm login

Enter your username (root) and your password into the login box and you’ll be taken to the set up screen for DNSONLY.

step 1

Accept the agreement and proceed to step 2. Fill in the initial form with the admin email ID and any other details you want to provide. Then go down below to the “This Server’s Hostname”. Here you need to enter a unique hostname for your server in the form of a subdomain. Something like:

server hostname and public resolvers

Once done, you have to provide IP addresses for DNS resolvers for requests that your server can’t handle. In this case, it’s easy to simply use Google’s DNS IP addresses as shown above. Namely:

Just keep the “eth0” selected from the drop-down list and go to step 3.


Again, unless you have something else in mind, you’ll just want to accept the default settings and skip to the next step as shown above. This step is where you finally set up the nameservers. Most of the time you’re just going to go with ns1. yourdomain and ns2.yourdomain. Keep in mind that you need to also define these in your registrar’s DNS setup screen.

DNS setup

In the next box, check both options and enter IP addresses for both ns1 and ns2. While you can have the same IP for both, that kind of defeats the purpose. A robust DNS architecture requires at least two unique IP addresses, so plug these in for each entry as shown.

This completes the set up and the next screen will configure the server according to your preferences.


One other thing – there’s no GUI option to access this set up process from within DNSONLY itself once it’s completed. However, if you bookmark the URL for any of the intermediate screens, you can go back to it anytime you want. A useful thing to know in case you mess something up and need to re-run the installation all over again!

Now that DNSONLY is set up, let’s see how to set it up as part of a DNS cluster using a full fledged WHM installation in the next article.

Leave a Reply

Your email address will not be published. Required fields are marked *