The information contained in this manual pertains to the migration of ISPadmin only. It does not pertain to the migration of any other product.
Prepare new server
Download current ISO file and follow instructions on how to install ISPadmin.
1. Turn off services on old and new server
You have to turn off Apache, Cron and Nagios services on both servers so that no changes of data are made in both, system and database. You also prevent users from logging in.
/etc/init.d/cron stop
/etc/init.d/nagios stop
2. Export database from old server
Create export directory
mkdir /data/backup/export
Get database password
cat /data/support/ispadmin/config/config.php | grep PASS | cut -f 3
ISPadmin database export - you will need password from previous command
mysqldump --add-drop-table --quote-names ispadmin -u ispadmin -p > /data/backup/export/ispadmin.sql
3. Copy data to new server
Rename the following directories on new server and create export directory. This way you will get a backup of original files from new installation.
mv /data/support/ispadmin/ /data/support/ispadmin_orig/
mv /usr/local/script/ispadmin/ /usr/local/script/ispadmin_orig/
mkdir /data/backup/export/
Allow old server IP
iptables -I INPUT -p tcp -s ip-stary-server --dport 22 -j ACCEPT
Recommendation: If you want to save time and transferred data we recommend you to delete graphs of client data from past years. They are in /data/support/ispadmin/client_images/, divided into years. Ideally, leave current year and delete the rest, if you don´t need it.
Copy data from old to new server Do this on the old server:
rsync -av /data/support/ispadmin/ root@ip-new-server:/data/support/ispadmin/
rsync -av /usr/local/script/ispadmin/ root@ip-new-server:/usr/local/script/ispadmin/
rsync -av /etc/ root@ip-new-server:/data/backup/export/etc/
scp /data/backup/export/ispadmin.sql root@ip-new-server:/data/backup/export/
4. Import database
rsync daemon must be running on the new server! If not, start it with service rsync start, or install it with apt-get install rsync.
Import database dump to the new server. Default password is isp123.
mysql ispadmin -u ispadmin -p < /data/backup/export/ispadmin.sql
5. Check settings on new server
Database
Get database password transferred from the old server.
cat /data/support/ispadmin/config/config.php | grep PASS | cut -f 3
Change database password to correspond with recovered password.
/usr/local/script/ispadmin/ispadmin_change_pass.pl ispadmin ispadmin DB_password
Change DB root password to a new one, and write it down.
/usr/local/script/ispadmin/ispadmin_change_pass.pl mysql_root ispadmin new-password
Nagios
Get secret from /etc/nagios3/apache2.conf
cat /etc/nagios3/apache2.conf | grep cgi-bin | cut -f 3 -d'/' | head -1
Enter secret into /data/support/ispadmin/config/config.php
NAGIOS_SECRET = recovered_secret
Radius
In case of an activated Radius module follow these steps after the migration:
Find out the current password to your database with this command
cat /data/support/ispadmin/config/config.php |grep DBPASS
Write found password to /etc/freeradius/sql.conf instead of default password isp123.
nano /etc/freeradius/sql.conf
# Connection info:
server = "localhost"
login = "ispadmin"
password = "isp123"
Edit /usr/share/freeradius/dictionary file
nano /usr/share/freeradius/dictionary
If you don´t find “$INCLUDE dictionary.mikrotik“ in the file, add it to the end of the file.
Restart Radius
/etc/init.d/freeradius restart
6. Update to latest stable version
If your support is paid and you don´t have the latest stable version, run update.
ispadmin_update stable
If the update does not work and the following message appears:
HTTP request sent, awaiting response... 404 Not Found
2017-02-21 13:09:30 ERROR 404: Not Found.
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
use this command:
cp -av /usr/local/script/ispadmin_orig/ispadmin_update* /usr/local/script/ispadmin/
If the command does not help, please proceed according to the instructions that can be found here.
7. Turn of services
/etc/init.d/cron start
/etc/init.d/nagios start
8. Finish individual configuration
You have all important configuration files in /data/backup/export/etc/ (httpd.conf, hostname, hosts, rc.local). You can copy them to /etc to restore configuration e.g. on your Apache web server from the old server. Which files to use or not depends on the situation - if you are directing the new server to the same IP addresses, or you want it to have the same hostname etc.