Migrating Percussion Environments

This instruction below outline how to move a Percussion CMS instance from it's existing server environment to a new server environment.

There are also instruction available for changing databases. This is most needed by customers that began by using the default Derby database that is installed with the CMS and DTS, but have outgrown it. 

Preparation: Before moving your environment, run a Full Publish and confirm there are no errors.  If there are any problems, try to resolve these before moving your environment.

Migrating the Percussion CMS database

Changing the Percussion DTS database

Migrating a Percussion CMS environment

  1. Shutdown CM1 (Use Task Manager in Windows, or “ps -ef | grep java” in Linux to ensure that the CM1 Java processes have shut down all the way before proceeding).
  2. Compress and backup the full CM1 directory (e.g. C:\Percussion or /home/user/Percussion).
  3. Make a backup of the CM1 database. If you’re migrating an instance of CM1 that uses the embedded Derby database rather than a SQL Server or MySQL database, skip this step, along with steps 4, 8, 9, 10 and 11.
    • For MSSQL, use SQL Management Studio (right click on the database > Tasks > Back Up...).
    • For MySQL, use the command line (e.g. “mysqldump -u root -p[root_password] [cm1_db_name] > cm1_db_backup.sql”).
  4. Create a CM1 database on your new database server using the exact same name as the CM1 database from your old server. Ensure that you have configured the same user credentials as in your previous database server to connect to your new database. If your database credentials or database name will have to be different in your new environment, refer to “Appendix A”.
  5. If you’re moving CM1 installed on a Linux machine, skip to step 6. On the new CM1 server, run the CM1 installer for the version of CM1 you are currently running. This is simply to install the Windows service that you will use to start and stop the service. Remove the full installation directory once the installation has completed (e.g. C:\Percussion).
  6. Extract the backup of your CM1 installation from your old application server into the exact same drive and file location on your new application server. If you have to extract CM1 to a new file system location, please refer to “Appendix B”.
  7. Ensure that you have all of CM1’s default ports (9992 though 9998, 9980 though 9982, as well as 1527 and 1528) free to be used by CM1 on your new machine (if you used non-default ports in your existing installation, ensure that those ports are available instead).
  8. Move the CM1 database backup file created previously over to the new database server (to be safe, compress the database file before moving it over, to ensure that its contents don’t get corrupted by your transfer protocol).
  9. On your new database server, restore your CM1 backup database over your newly created database.
    1. For MS SQL, use SQL Management Studio (right click on new CM1 database > Tasks > Restore > Database. NOTE: For Options choose "Overwrite the existing database (WITH REPLACE)").
    2. For MySQL, use the command line (e.g “mysql -u root -p[root_password] [cm1_db_name] < cm1_db_backup.sql”).
  10. In your rs-ds.xml file located at <cm1_root>\AppServer\server\rx\deploy, ensure that the <connection-url> string matches your new database server’s connection URL (take note of the server’s host name).
  11. In your rxrepository.properties file located at <cm1_root>/rxconfig/Installer, ensure that your DB_SERVER string matches your new database server’s connection URL
  12. If you’re running Windows, skip to step 13. With SUDO permissions, run the InstallDaemon.sh script at the CM1 installation root directory on the new application server if you prefer to run CM1 using the Daemon.
  13. At this point you should be all set to start up CM1 as normal. Refer to your server.log file at <cm1_root>\AppServer\server\rx\log to troubleshoot any issues that may arise.

 

Appendix A:

If different user credentials will be used for your new SQL database, you will need to modify two files.

First, your rx-ds.xml file, located at <cm1_root>\AppServer\server\rx\deploy

Find and remove this line:

<security-domain>rx.datasource.jdbc_RhythmyxData</security-domain>

Replace it with two additional lines that look like this:

<user-name>mssql_user</user-name>

<password>mssql_password</password>

Where “mssql_user” and “mssql_password” match your new credentials.

Second, to ensure that future upgrades use the proper SQL configuration, update your rxrepository.properties file at <cm1_root>/rxconfig/Installer

Ensure that the UID field matches your new database user password. The PWD field must contain an encrypted version of your new password. You must download and install the Percussion Support Tools in order to encrypt this password. Find the Percussion Support Tools here, and note in the readme where it covers "Encrypting a database user password": https://s3.amazonaws.com/cdn.percussion.com/downloads/support/PercSupportToolsREADME.zip

Change database name:

If you need to change the database’s name as well, you will need to update the server-beans.xml file, which is located at <cm1_root>\AppServer\server\rx\deploy\rxapp.ear\rxapp.war\WEB-INF\config\spring. Open the file, and find this line:

<property value="database_name"/>

Changing the value "database_name" to the name of the newly created database.

Note: you will also need to update the Design of all 11 of the database's Views, replacing any references to the old database name with the new name.

 

Appendix B:

If you wish to use a different drive letter or folder path, once you have moved your CM1 file tree over to your new machine, you will need to update five configuration files to reflect this change. These files can be edited in any plain text editor. The first four configuration files are at the CM1 installation root directory (the files will have a .bin.lax extension on Linux machines):

Synchronizer.lax

PercussionCM.lax

PercussionPackageInstaller.lax

PercussionServer.lax

The “lax.dir” and “lax.root.install.dir” entries present in all of these files will need to be updated to reflect the new drive letter and folder path for CM1’s root directory. Please take careful note to preserve the existing formatting of the file path (e.g. “C:\\Program Files\\Percussion\\” can be changed to “D:\\Percussion\\”, preserving the double-backslashes and trailing backslashes if they exist, leaving them out if the do not exist).

 The final configuration file is your web.xml file, located here at <cm1_root>/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/web.xml

In this file, search for two rxDir entries and change the file system path for both to reflect the new drive letter and folder location, once again taking careful note to preserve existing formatting.