Welcome to Headwind MDM Q&A, where you can ask questions and receive answers from other members of the community.

IMPORTANT: Please notify the team about your question by filling in the form on the contact page. Otherwise, we may miss your question!

0 votes
I need to migrate a working service to another server, please help me how to do that?
by (9k points)

1 Answer

0 votes

Here are general steps to perform the migration:

  1. Install the required software on a new server;
  2. Copy the Headwind MDM database
  3. Copy the Headwind MDM files (executable, configuration, other files)
  4. Copy the SSL certificates and set up Tomcat (if required)
  5. Set up ports using iptables (if required)
  6. Make sure the new server works
  7. Change the DNS record

Here is the detailed manual.

1. Install the required software

# sudo apt update

# sudo apt install openjdk-8-jdk aapt tomcat8 postgresql

2. Copy the Headwind MDM database

2.1. Make a dump of the database on the legacy server

# su postgres

# pg_dump hmdm > hmdm_dump.sql

2.2. Copy the dump file to the new server

2.3. Create the database on the new server

Notice: keep the old password. The database access credentials can be found in the Headwind MDM configuration file: /var/lib/tomcat8/conf/Catalina/localhost/ROOT.xml (or .../hmdm.xml).

# su postgres

# psql

postgres=# CREATE USER hmdm WITH PASSWORD 'topsecret';

postgres=# CREATE DATABASE hmdm WITH OWNER=hmdm;

postgres=# \q

2.4. Fill the database with the dump

# su postgres

# psql hmdm < hmdm_dump.sql

3. Copy the Headwind MDM files to the new server

Headwind MDM uses files stored in the following directories

  • /opt/hmdm/*
  • /var/lib/tomcat8/webapps/*.war
  • /var/lib/tomcat8/conf/Catalina/localhost/*.xml

Important! /var/lib/tomcat8/conf is a link, not a directory, so do not copy a whole directory, copy its contents only.

For example, you can copy files between servers using scp:

# scp /var/lib/tomcat8/conf/Catalina/localhost/ROOT.xml user@new.server.com:/var/lib/tomcat8/conf/Catalina/localhost

If you're using FTP to copy files, copy /etc/tomcat8/Catalina/localhost instead of /var/lib/tomcat8/conf/Catalina/localhost, because FTP doesn't resolve Linux links.

4. Copy the SSL certificates and set up Tomcat

This step is required if you are using HTTPS

4.1. Copy the JKS file (Java Key Store) from the old to the new server

4.2. Set up the path and password to the JKS file in /var/lib/tomcat8/conf/server.xml

4.3. If you're using LetsEncrypt and set up automatic certificate renewal, copy the certificate renewal scripts to the new server

See more details about HTTPS here: https://qa.h-mdm.com/1240/

5. Set up ports using iptables

This step is required if you're using standard ports (80 or 443) instead of default Tomcat ports 8080 and 8443. See details here: https://qa.h-mdm.com/1533/

6. Make sure the new server is working

Try to open the web panel on a new server using http and IP address. It must show the login window. Notice: https may not work if you do not specify the domain name. Also, some functions like QR code generation or app uploads may not work as well.

7. Change the DNS record

If everything is working well, change the DNS record so the domain name of your MDM points to the new server.

by (9k points)
edited by
...