Migrating Zephyr Enterprise Edition from Windows to Linux Environment

June 24, 2016


  1. System Requirements are met. Zephyr Enterprise Linux installed of the same version. 
  2. license.lic file. The same license can be used for both Zephyr Windows and Linux environments.
  3. There will need to be a script run against the database to fix casing before the database will work with Linux. Get admin privileges to modify data.

**We recommend migration in Dev environment before trying in production.

Steps to Migrate

Please follow the below instructions to migrate Zephyr Enterprise Edition from Windows to Linux

  1. Take a full back up (including attachments) of the data on windows
  2. Install the same version of Zephyr on Linux, this will create itcc and dversion database.
    • backup the startup itcc and dversion data into sql files. (for reference)
  3. Restore the Backup on Linux installation
  4. Shutdown Zephyr server on Linux. To do this navigate to <Zephyr_Home>/bin and run the file stopZephyr.sh 
  5. Use script to rename 'QRTZ' tables, steps below.
    The 'QRTZ' tables are necessary tables in the database for Zephyr usage. However, you can start the Zephyr server even without changing the names of the tables.The tables themselves control many background operations of the database. So, it is not suggested to use Zephyr until the table names have been changed.
    1. Connect to MySql database from terminal or any sql client.
    2. Use database itcc to run the below script.

      >> use itcc;

      >> RENAME TABLE qrtz_blob_triggers TO QRTZ_BLOB_TRIGGERS, qrtz_calendars TO QRTZ_CALENDARS, qrtz_cron_triggers TO QRTZ_CRON_TRIGGERS, qrtz_fired_triggers TO QRTZ_FIRED_TRIGGERS, qrtz_job_details TO QRTZ_JOB_DETAILS, qrtz_job_listeners TO QRTZ_JOB_LISTENERS, qrtz_locks TO QRTZ_LOCKS, qrtz_paused_trigger_grps TO QRTZ_PAUSED_TRIGGER_GRPS, qrtz_scheduler_state TO QRTZ_SCHEDULER_STATE, qrtz_simple_triggers TO QRTZ_SIMPLE_TRIGGERS, qrtz_triggers TO QRTZ_TRIGGERS, qrtz_trigger_listeners TO QRTZ_TRIGGER_LISTENERS;

    3. Shift the database to dversions and run the below script.

      >> use dversion;

      >> RENAME TABLE jackrabbit_thed_binval TO JACKRABBIT_THED_BINVAL, jackrabbit_thed_bundle TO JACKRABBIT_THED_BUNDLE, jackrabbit_thed_names TO JACKRABBIT_THED_NAMES, jackrabbit_thed_refs TO JACKRABBIT_THED_REFS, jackrabbit_version_binval TO JACKRABBIT_VERSION_BINVAL, jackrabbit_version_bundle TO JACKRABBIT_VERSION_BUNDLE, jackrabbit_version_names TO JACKRABBIT_VERSION_NAMES, jackrabbit_version_refs TO JACKRABBIT_VERSION_REFS;​

  6. Change hotback script path in DB. In Windows, the row 'backup.script.path' is set to '${ZEPHYR_HOME}/backup_restore/bin/hotBackup.bat'. Will need to change to shell script, steps below.
    1. Connect to MySql database from terminal or any sql client.
    2. Use database itcc to run the below script.

      >> USE itcc ;

      >> UPDATE preference_system SET value = '${ZEPHYR_HOME}/backup_restore/bin/hotBackup.sh' WHERE name = 'backup.script.path';

  7. Update ZEPHYR_HOME in jdbc.properties in '${ZEPHYR_HOME}/WEB-INF/classes' 
    1. Navigate to Zephyr_Home for a default installation it will be /opt/Zephyr/tomcat/webapps/flex/WEB-INF/classes 
    2. Edit jcbc.proeprties file form the loation
    3. Update the below parameters at the starting, they will have the windows path configured as below. Replace with current Linux path of the directories Zephyr and zephyrdata respectively.
      ZEPHYR_HOME=C:/Program Files/Zephyr
      ZEPHYR_DATA=C:/Program Files/Zephyr/zephyrdata
  8. Start Zephyr
  9. What doesn't work
    If IP address of machine is changed, then old Zephyr deep links won’t work.
    So, don't change the IP of the machine.
  10. Verification
    1. Open apps, Department, Project dashboard and check you are able to access all options.
    2. Take a hot backup from UI and check if the backup is success, backup file is created under the directory <Zephyr_Home>/ftp/backup/hot
    3. Access test case history(to verify diversion is proper) and check the testcase version history.

**Note : While using the Zephyr upgrader for migration one problem that can come up is that the properties folder inside zephyr backup may not expand correctly. 

E.g. file with name abc inside properties may be created as properties\abc

In this case, we’ll have to manually fix the file names, pack them into properties folder, tar+gzip and create another backup file.

Without this, the upgrader will fail.