Convert Linux CM1 instance to Windows

Converting a CM1 instance on Linux to Microsoft Windows

Note that this type of migration can be a high risk process and that it is vital that you backup your full Percussion CM1 file tree, database, and web root folder before proceeding, and test your migrated CM1 instance and web server before permanently moving users to the new CM1 server.  

You will also need a new CM1 license key for your new server.  Please contact us for more details on this process.

Database Considerations

Your CM1 installation uses a database.  It is either the embedded Derby database, or an MS SQL or MySQL database.  You can look in the file <CM1 Root>/AppServer/server/rx/deploy/rx-ds.xml - if you see this line

<connection-url>jdbc:derby://localhost:1527/CMDB;</connection-url>

you are using the Derby database.   Otherwise you will see the address of your Database server. 

If your installation uses the embedded Derby database, no additional steps are needed for database configurations, and your new Windows CM1 will be using a copy of the database from your Linux installation.

If you will be using the current / existing external (MS SQL or MySQL) database, you do not need to update the CM1 installation to point to a new database.  Please note that if you are planning to use the same external database, your Windows version of CM1 will want to connect to it when starting and while running, and testing your new installation will make changes to the database.  You also need to make sure multiple CM1 instances are not using the same database; make sure that the old Linux CM1 instance is not started, and disable any scripts that start CM1 when rebooting the Linux server.

If you will be using a new database server, back up your database at the same time that CM1 is not running when backing up the file tree on the linux server.  Step 11 below will have more details on pointing your new installation to a new database.

Moving the Percussion CM1 tree 

1) Note the version of CM1 you are running (either in the About menu of CM1, or in the Version.properties file in the CM1 installation). While CM1 is not running, zip or compress the CM1 installation tree and copy to the new target Windows server.

2) On the target Windows server, download and extract the Windows installer of the same version of CM1 you are currently running.  You can find download instructions here.

3) Run the installation Setup.exe and install as a "New Install".  Choose the folder location you want CM1 to install to - for example, C:\Percussion.  Choose default options for all other installation questions (including using the embedded database - you can configure the actual database later if needed).  This process will create a Windows Service to stop and start CM1, using the folder location you installed to.

4) Remove the contents of the CM1 installation folder.  If you installed to C:\Percussion, you would remove the contents of this folder, but not the folder itself.

5) Extract the CM1 folder from Step 1 into the new CM1 installation folder.

7) Delete the contents of the following folders (not the folders themselves):

  • <CM1 Root>\JRE
  • <CM1 Root>\bin
  • <CM1 Root>\AppServer\bin
  • <CM1 Root>\AppServer\server\rx\tmp\
  • <CM1 Root>\AppServer\server\rx\work\
  • <CM1 Root>\AppServer\server\rx\data\

8) Delete the following files:

  • <CM1 Root>\*.bin.lax
  • <CM1 Root>\*.sh
  • <CM1 Root>\dbg_.sys_CEHandler*
  • <CM1 Root>\server_run_lock

9) Delete all folders starting with <CM1 Root>\.sys_CEHandler*

10) Run the same CM1 installation Setup.exe again, this time choosing to "Upgrade existing installation." This will install the executables needed to run CM1 on the new Windows server.

11) If you want CM1 to use a different database than used by the Linux server instance, see Appendix A of this document for changing the database of a CM1 installation, starting at step 8.

12) If you are using the same DTS service, no changes are needed.  If you are also moving DTS, see the steps below for Migrating DTS, and edit the <admin-connection-url> settings in <CM1 Root>\rxconfig\DeliveryServer\delivery-servers.xml to point to the new DTS server location.

13) Start your Percussion Service.  If CM1 does not start please see your server.log file your server.log (versions before 5.1, look in <CM1 Root>\AppServer\server\rx\log\server.log, 5.1 and after look in <CM1 Root>\logs\Appserver\server.log), or provide this file if you need to contact Technical Support.

 

Migrating DTS

Like moving CM1, this type of migration can be a high risk process and that it is vital that you backup your full Percussion DTS file tree and database before proceeding, and test your migrated DTS instance and web server before permanently publishing to the new DTS server. 

Database Considerations

DTS may be using the embedded Derby database, or can be configured to use an external database.  If you are not sure, look in your <dts_root>/Deployment/Server/conf/perc directory if you see:

  • perc-datasources.properties.sample
  • perc-datasources.xml.sample

you are using the embedded Derby database.
If you see:

  • perc-datasources.properties
  • perc-datasources.xml

look in perc-datasources.properties for the database used.

If your installation uses the embedded Derby database, no additional steps are needed for database configurations, and your new Windows DTS will be using a copy of the database from your Linux installation.

If you will be using the current / existing external (MS SQL or MySQL) database, you do not need to update the DTS installation to point to a new database.  Please note that if you are planning to use the same external database, your Windows version of DTS will want to connect to it when starting and while running, and testing your new installation will make changes to the database.  You should try to limit multiple versions of DTS instances from using the same database, make sure that the old Linux DTS instance is not started, and disable any scripts that start DTS when rebooting the Linux server.

If you will be using a new database server, back up your database at the same time that CM1 is not running when backing up the file tree on the linux server.  Step ZZ below will have more details on pointing your new installation to a new database.

Moving the Percussion DTS tree 

1) Note the version of DTS you are running in the Version.properties file in the DTS installation. While DTS is not running, zip or compress the DTS installation tree and copy to the new target Windows server.

2) On the target Windows server, download and extract the Windows installer of the same version of DTS you are currently running.  You can find download instructions here.

3) Extract your Linux DTS installation into a folder, for example, C:\Percussion.  

4) Delete the contents of the following folders (not the folders themselves):

  • <DTS Root>\JRE
  • <DTS Root>\percussion-yajsw\bin
  • <DTS Root>\Deployment\Server\bin

5) Delete the following files:

  • <DTS Root>\TomcatStartup.sh
  • <DTS Root>\TomcatShutdown.sh

6) From the CM1/DTS installation package downloaded in Step 2, run SetupDTS.exe and choose to "Upgrade existing installation." This will install the executables needed to run DTS on the new Windows server.

7) If you want DTS to use a different database than used by the Linux server instance, see this page for changing the database of a DTS installation.

8) You will want to configure DTS to run as a service. Follow these steps to do this:

  1. Open a Command Prompt as an administrator.
  2. Navigate to the <dts_root>\Deployment\Server\bin directory.
  3. Run the command service.bat install

9) Start the service.  You can see if the service started correctly bu going to the <DTS Root>C:\PDTS45\Deployment\Server\logs folder and looking at the end of your catalina.log file for lines like

... INFO org.apache.coyote.http11.Http11Protocol- Starting Coyote HTTP/1.1 on http-9980
... INFO org.apache.coyote.http11.Http11Protocol- Starting Coyote HTTP/1.1 on http-8443

If you are having errors you can compress the contents of the logs folder to Support for assistance.