How to move DNSmanager between servers
You may need to move the panel and the license from one server to another when upgrading your hardware or when changing the license version.
To do so:
- Import user data from the old server to the new one.
- Assign the software license to the new server.
Step 1. Import user data
Before you start the import process, activate a separate license for the new server. Follow the installation guide to install and activate a trial version.
Import data to the new server.
Import DNSmanager files
Install DNSmanager on a new server. Select the same name server as on the old server.
- Import the requires settings from the DNSmanager configuration file (the default location is /usr/local/mgr5/etc/dnsmgr.conf) to the new server. Do not copy the whole configuration file from the old server into the new one. E.g., if the operating systems differ, the paths that are used in the configuration file will differ as well.
Copy the DNSmanager databases to the new server:
scp root@<old server IP address>:/usr/local/mgr5/etc/dnsmgr.db* /usr/local/mgr5/etc/ scp root@<old server IP address>:/usr/local/mgr5/etc/dnsmgr_ipdb.db* /usr/local/mgr5/etc/
BASH
4. In the following databases change the IP address of the old server into the IP address of the new one:- the dnsmgr_ipdb.db database→ the ips table. It corresponds to the control panel section Settings → IP-address pool → Addresses;
- the dnsmgr_ipdb.db database → the ranges table. It corresponds to the control panel section Settings → IP-address pool;
- the dnsmgr.db database → the namespace table.
Import files from the DNS-server
BIND is installed on the serves
- Copy the DNS-server configuration file into the new server:
- CentOS: /etc/named.conf
- Debian: /etc/bind/named.conf and /etc/bind/named.conf.options
In the files. change the IP-address of the old server into the IP address of the new one:
sed -i 's/\<<old server IP address>\>/<new server IP address>/g' <path to the configuration file>
BASHNote.
\<<old server IP address>\> means the IP address in the angle brackets. The brackets are escaped, e.g. "\<192.168.0.1\>".
- Copy the domain zone files to the new server:
- CentOS: /var/named/*
- Debian: /etc/bind/domains
Clear the DNSmanager database cache on the new server:
rm -f /usr/local/mgr5/var/.db.cache.*
BASH
PowerDNS is installed on the servers:
- Import the required settings from the PowerDNS configuration file to the new server.
- CentOS: /etc/pdns/pdns.conf
- Debian: /etc/powerdns/pdns.conf
- Import the configuration files of the namespaces to the new server.
- CentOS: /etc/pdns/pdns-*.conf
- Debian: /etc/powerdns/pdns-*.conf
Note
The configuration files of the domain namespaces contain MySQL connection details: gmysql-user — username, gmysql-password — password. Change them into the new login and password for the new server.
- Import the PowerDNS database to the new server:
Create a dump on the old server.
mysqldump --databases <default name space> <user name space> > <path to the file to which the dump will be added>
BASHView details<default name space> — powerdns for CentOS, pdns for Debian
<user name space> — PowerDNS creates a separate database for every names space. Enter all the namespaces space separated
Copy the dump to the new server.:
scp root@<old server IP address>:<path to the file where the dump is stored> <path to the file to which the dump will be added>
BASHUpload the database from the dump on the new server.:
mysql <database name> < <path to the file one the new server to which the dump is copied>
BASHView details<database name> — powerdns for CentOS, pdns for Debian
Check
Restart DNSmanager on the new server:
/usr/local/mgr5/sbin/mgrctl -m dnsmgr exit
BASH- Restart the DNS-server:
If BIND is installed on the server:
CentOS
systemctl restart named
BASHDebian
systemctl restart bind9
BASHIf PowerDNS is installed, execute the command:
systemctl restart pdns
BASH
- Make sure DNSmanager is up and running.
Configure slave name servers
In the configuration files change the IP address of the old server into the IP address of the new one:
- Define the required file:
If BIND is installed on the server:
The configuration file on CentOS: /etc/named.conf
The configuration files on Debian: /etc/bind/named.conf and /etc/bind/named.conf.options
If PowerDN is installed on the server:
The configuration file on CentOS: /etc/pdns/pdns.conf
The configuration file on Debian: /etc/powerdns/pdns.conf
Execute the command:
sed -i 's/\<<old server IP address>\>/<new server IP address>/g' <path to the configuration file>
BASHNote.
\<<old server IP address>\> means the IP address in the angle brackets. The brackets are escaped, e.g. "\<192.168.0.1\>".
Disable the DNS-server on the old server
Disable the DNS-server on the old server and delete it from the auto-start:
BIND:
CentOS
systemctl stop named systemctl disable named
BASHDebian
systemctl stop bind9 systemctl disable bind9
BASHPowerDNS:
systemctl stop pdns systemctl disable pdns
BASH
Step 2. Assign the license to the new server
- After you have imported all the users to the new server, log in to the Client area where you ordered the license.
- Delete the trial license from the client area.
- Open the configuration form of the commercial license and specify the IP address of the new server.
- If you upgrade or change the product version (eg. from ISPmanager 4 to 5 or from Lite to Business) you also need to change the tariff plan in the Client area. For more information about how to do so, please contact your license provider.
Update the license file. Go to Help → About program → click on Update license. Or run the command to update it manually:
/usr/local/mgr5/sbin/licctl fetch mgrName
BASHWheremgrName is a short name of the control panel:
- ispmgr — ISPmanager;
- billmgr — BILLmanager;
- vmmgr — VMmanager KVM or Cloud;
- vemgr — VMmanager OVZ;
- dcimgr — DCImanager;
- ipmgr — IPmanager;
- dnsmgr — DNSmanager.