Help Center

Hybrid Cloud Setup Guide

Installing Syncrofy is a complex process and we strongly encourage you to seek assistance. We recommend leveraging a resource with experience in enterprise-level software setup as a minimum qualification to commence the full installation procedure. Please contact Syncrofy support with any questions or if you would like to request assistance from one of our technical experts.

To get started, click "Prerequisites" below and follow each step (1-5) of the installation in sequential order.

 

Table of Contents

1 Prerequisites 

1.1 Supported Platforms and Software

1.2 Install 7-Zip on Windows

1.3 Install Java

1.3.1 Install Docker

2 Install and Configure MongoDB

2.1 Create Database Users

2.1.1 Red Hat Enterprise Linux (RHEL) MongoDB User Creation

2.1.2 Windows Server 2016 MongoDB User Creation

2.2 Enable Authentication on MongoDB

2.3 Configure MongoDB Replica Set (Optional)

3 Configure the Syncrofy Environment

3.1 Install Prerequisites for Local Agent Installation (Apache Java Daemon Source Jsvc on RHEL)

3.2 Windows Environment Configuration

4 Syncrofy Local Agent Installation

4.1 Prerequisites

4.2 Install Syncrofy Local Agent 

4.2.1 RHEL Installation

4.2.2 Windows Installation

4.2.3 Docker Installation

5 Configure Syncrofy Local Agent

5.1 Register the Syncrofy Local Agent

5.2 Configure the MongoDB Database Connection

5.3 Configure Syncrofy Connectors

5.4 Configure Syncrofy Features

 

1        Prerequisites

The following steps are required prior to installing the Syncrofy Local Agent on servers outside of CoEnterprise’s hosted solutions offerings.

1.      Create a service account for Syncrofy to run as.

a.      Take note of the username and password created, as this is required during the installation.

Note: Red text commands in this guide should be replaced by actual values. For example, “password” should be replaced by the actual password that will be used by the database users.


1.1      Supported Platforms and Software

It is always best to install the latest supported versions of required software. The following versions of all required software supported by Syncrofy are listed below:

    • Operating Systems
      • RHEL 7
      • Windows Server 2016
      • MongoDB
        • MongoDB 3.6

Note: MongoDB 4.x is not yet supported by Syncrofy

        • Java
          • Java SE Development Kit 8

Note: Installing Java JRE 8 is acceptable instead

 

1.2      Install 7-Zip on Windows

Note: This section is only required for Windows Server 2016

  1. Visit 7-zip.org and download 7 Zip for Windows.

 

1.3      Install Java

  1. Visit oracle.com and download the latest installation of Java SE Development Kit 8.
  2. Installation steps for installing Java can be found in Oracle’s documentation.

1.3.1       Install Docker

  1. Install Docker

    a.      Red Hat Enterprise Linux
             
            i.      https://docs.docker.com/install/linux/docker-ee/rhel/

  2. Check that Docker installed successfully and run:

          a.      sudo docker ps

      3. Init a swarm using:

          a.    sudo docker swarm init

      4. Create the directories /opt/syncrofy

          a.      Create a local, inbound, storage folder inside the Syncrofy folder.

      5. Move the Syncrofy.client.[env] properties file to the local folder.

 

2        Install and Configure MongoDB

  1. Visit MongoDB.com and download the latest, supported installation of MongoDB 3.6.
  2. Installation steps for installing MongoDB can be found in Mongo's Documentation.

Note: If MongoDB is already installed and supported by Syncrofy, the existing instance can be used (e.g. if you are installing a second Local Agent for a second Syncrofy environment). Otherwise, a new installation is required by following the below links.


2.1      Create Database Users

2.1.1       Red Hat Enterprise Linux (RHEL) MongoDB User Creation

Note: This section is only required for RHEL.

1.      Open a Mongo shell:

             mongo

2.      Create database admin:

use admin

3.      Create database root user:

db.createUser({

                  user:"root",

                               pwd:"password",

                              roles:[{

role:"root",

db:"admin"

}]

                    })

Note: This command should be entered without any line breaks. Copy this into Notepad to stage changes prior to executing it on a server. 

4.      Confirm your user:

db.auth("root","password")

1

5.      Create database syncrofy user:

 db.createUser({

                     user:"syncrofy",

                     pwd:"password",

                     roles: [{

role: "dbOwner",

db:"admin"

}]

                     })

Note:  This command should be entered without any line breaks. Copy this into Notepad to stage changes prior to executing it on a server. 

6.      Confirm your user:

db.auth("syncrofy","password")

1

7.      Exit the Mongo shell:

exit

2.1.2       Windows Server 2016 MongoDB User Creation

Note: This section is only required for Windows Server 2016.

1.      Run Command Prompt as administrator.

2.      Start MongoDB:

  net start MongoDB

3.      Open a Mongo shell:

\Path\To\InstallDirectory\bin\mongo.exe

4.      Create database admin:

  use admin

5.      Create database root user:

      db.createUser({

user:"root",

pwd:"password",

roles:[{

role:"root",

db:"admin"

}]

})

Note: This command should be entered without any line breaks. Copy this into Notepad to stage changes prior to executing it on a server. 

 

6.      Confirm your user:

   db.auth("root","password")

1

7.      Create database syncrofy user:

  db.createUser({

user:"syncrofy",

pwd:"password",

roles: [{

 role: "dbOwner",

 db:"admin"

 }]

   })

Note: This command should be entered without any line breaks. Copy this into Notepad to stage the changes prior to executing it on a server.

 

8.      Confirm your user:

  db.auth("syncrofy","password")

     1

9.      Exit the Mongo shell:

           exit


2.2      Enable Authentication on MongoDB

For security purposes, authentication should be enabled in MongoDB. You can follow MongoDB's Manual to Enable Auth for the Syncrofy Local Agent service account.


2.3      Configure MongoDB Replica Set (Optional)

 

High availability for MongoDB can be configured as an optional step by following the MongoDB Replica Set Configuration.

 

3        Configure the Syncrofy Environment


3.1      Install Prerequisites for Local Agent Installation (Apache Java Daemon Source, JSVC on RHEL)

Note: This section is only required for servers running RHEL.

1.      Find the full path to the Java installation and take note of the output. The path will look something like ‘/opt/syncrofy/java/jdk’.

2.      Download source code using curl:

curl -O http://ftp.wayne.edu/apache/commons/daemon/source/commons-daemon-1.1.0-src.tar.gz

Note: The version of the Apache Commons Daemon may change. If the download fails, visit the website (http://ftp.wayne.edu/apache/commons/daemon/source/) to view the latest version of the Commons Daemon. This guide references version 1.1.0 for simplicity. 

 3.      Decompress the package.

 4.      Configure and make JSVC executable:

a. For RHEL, navigate to commons-daemon-1.0.15-src/native/unix and execute the following commands:

sh support/buildconf.sh

./configure --with-java=/opt/java/jdk

make


3.2      Windows Environment Configuration

Note: This section is only required for servers running Windows 2016.

1.      Configure a new system variable called java_home.

a.      Open Control Panel.

b.      Browse to System à Advanced system settings à Environment Variables.

c.      Under System variables, choose New…

d.      Enter:

                                                   1.     Variable name: java_home

                                                   2.     Variable value: [Path_to_Java]

Note: [Path_to_Java] should be replaced with the correct path to the installation on the server.

2.      From an administrator-level Command Prompt, validate the system variable by entering the following command:

set java_home

 

4        Syncrofy Local Agent Installation


4.1      Prerequisites

1.      Create Syncrofy folders and change ownership to the Syncrofy service account user: 

     a. RHEL:

    1. /opt/syncrofy
    2. /opt/syncrofy/inbound
    3. /opt/syncrofy/exceptions

                         b. Windows Server 2016:

    1. C:\Syncrofy
    2. C:\Syncrofy\Inbound
    3. C:\Syncrofy\Exceptions

2.    Download the Local Agent package and place it into the Syncrofy directory. The link is located here:

 

  a. https//coenterprise1.sharepoint.com/:u:/g/EWn2gWJK4_xPrR9f_e8kc3EBUIJ7sL5NPk_n9vlASSFPew

      3.   Download the Local Agent service file here:

a. https://coenterprise1.sharepoint.com/:u:/g/Ed_yQFzghV1LudGu7FUxDLYBqFO5X118RAB-SZfpmW0lrw

 

Note: The Local Agent package is located on a password-protected server within the CoEnterprise network. To access this, please reach out to your CoEnterprise contact or the Syncrofy support team. 


4.2      Install Syncrofy Local Agent

4.2.1       RHEL Installation

1.      Extract the Local Agent package, local-agent-release.tgz, to /opt/syncrofy.

a.      tar -zxvf local-agent-release.tgz

2.      Navigate to the newly extracted directory, /opt/syncrofy/local.

3.      Decide and take note of which existing Syncrofy environment the Local Agent belongs to (e.g. Dev, QA, Lab, or Prod).

4.      Rename the Local Agent properties file, syncrofy.client.qa.properties, to include the environment name chosen above:

a.      mv syncrofy.client.qa.properties syncrofy.client.[env].properties

Note:  Choose the environment you are currently installing.  This will be used later during the Syncrofy Local Agent installation.

 

5.      Move the syncrofy-local-agent.service file to /etc/systemd/system/

a.      mv syncrofy-local-agent.service /etc/systemd/system/

6.      Ensure correct permissions on syncrofy-local-agent.service file:

a.      chmod 0644 syncrofy-local-agent.service

7.      Modify the Local Agent properties file (/opt/syncrofy/local/syncrofy.client.[env].properties): 

a.      Line #2: update port settings, if necessary: 

https.port=[HTTPS PORT 

8.      Edit the syncrofy-local-agent.service file to make the following changes:

a.      Update Line 13 to the correct path for the JAVA directory

b.      Update Line 23 to change the environment parameter to the correct environment of the current installation

c.      Update Lines 28 and 51 to the jsvc directories for both parameters using the following path: /opt/syncrofy/software/commons-daemon-1.1.0-src/src/native/unix/jsvc

9.      Move the syncrofy-local-agent.service file to /etc/systemd/system/

a.      mv syncrofy-local-agent.service /etc/systemd/system/

10.   Ensure that the syncrofy-local-agent.service file is owned by root:

a.      chmod 0644 syncrofy-local-agent.service

11.   Run the following to reload the service file:

a.      systemctl daemon-reload

12.   Run the following to enable the service file:

a.      systemctl enable syncrofy-local-agent

13.   Start the Local Agent:

a.      systemctl start syncrofy-local-agent

14.   Validate that service is started and enabled

a.      systemctl status syncrofy-local-agent

4.2.2       Windows Installation

1.      Unzip the local-agent-release.tgz file with 7-Zip. Select C:\Syncrofy as the target directory.

2.      Navigate to the newly extracted directory, C:\Syncrofy\local-agent-release.

3.      Un-tar the local-agent-release.tar file in C:\Syncrofy\local-agent-release. Select C:\Syncrofy\local-agent-release\ as the target directory.

4.      Move the contents of the newly extracted directory, C:\Syncrofy\local-agent-release\local-agent, to a new directory under C:\Syncrofy\local.

5.      Navigate to the newly created directory, C:\Syncrofy\local.

6.      Update the install_service.cmd script:

a.      set env=[environment]

Note: Choose the environment you are currently installing. This will be used later during the Syncrofy Local Agent installation.

 

7.      From an administrator-level Command Prompt, run the following command to install Local Agent as a Windows service:

a.      C:\Syncrofy\local\install_service.cmd

8.      Validate service information by double-clicking on the C:\Syncrofy\local-agent\syncrofy-local-agent.exe file.

9.      Decide and take note of which existing Syncrofy environment the Local Agent belongs to (e.g. Dev, QA, Lab, Prod).

10.   Rename the Local Agent properties file, C:\Syncrofy\local\syncrofy.client.qa.properties, to include the environment name chosen above.

11.   Modify the Local Agent properties file (C:\Syncrofy\local\syncrofy.client.[env].properties): 

a.      Line #2: update port settings, if necessary: 

https.port=[HTTPS PORT]

   12.   Start the Local Agent:

a.      From an administrator-level Command Prompt, run the following command:

                                                    i.     net start Syncrofy-Local-Agent

   13.   Validate that the application is running:

a.      netstat -a -b | findstr [port]

 

Note: The port should be the HTTP port entered in the properties file above.

 

4.2.3       Docker Installation

1.      Pull the latest Local Agent image:

 a. https://hub.docker.com/r/coenterprise/syncrofy-local-agent

         2.      Run the service by running: 

Note: This is assuming that you followed the guide and the recommended paths. If you changed these paths, please update them accordingly.

 

5        Configure Syncrofy Local Agent


5.1      Register the Syncrofy Local Agent

1.      Navigate to https://app.syncrofy.com.

2.      On the left-hand navigation menu, navigate to Settings.

3.      Under Company Settings, navigate to Local Agent.

4.      Under Agent URL, enter the Syncrofy Local Agent URL, including the HTTP / S port number configured previously.

a.      The URL should include the public facing IP address of the Syncrofy Local Agent server. Please see your company’s network team to obtain this information.

5.      Click the Register New Agent button.


5.2      Configure the MongoDB Database Connection

1.      On next page, Agent URL and Database Name are already prefilled.

a.      The Agent URL cannot be changed because the installed Syncrofy Local Agent has already been
 registered under this URL.

b.      The Database name can be changed, if needed.

2.      Enter the address(es) for MongoDB:

a.      The URL should include the public facing IP address of the MongoDB server. Please see your company’s network team to obtain this information.

b.      The default MongoDB port is 27017.

3.      Add username and password configured during pre-requisite work.

4.      Press Save.

Note: The database connection configuration is editable and can be done via the Local Agent Settings page by clicking “Edit Details."

 


5.3      Configure Syncrofy Connectors

1.      Create directories for the Local Agent to read from on the same server, or obtain the paths to existing directories:

a.      Validate users have correct permissions to these directories.

Note: Directories should be readable and writable by the Syncrofy user if using the standard connector; readable if others.

 

2.      Configure that the Local Agent should read from these directories via the UI

a.      Click on “Add Connector” button on Local Agent page (under company settings)

b.      Select the type of connector you have from the dropdown menu

1.      Standard Connector:

ii.      Name the Connector

ii.      If Syncrofy is being configured by a Syncrofy Technology partner, repeat adding Standard connectors for each company.

iii.   Ensure files are removed from directory.

Note: Connectors are created per company and can be standard connectors only.


 iv.      Enter the Path to the directory from the previous step.

1.1  Ensure that path to collect files is an empty directory when saving and enabling this adapter.

2.      SFTP Connector:

ii.      Name the Connector

iii.     Enter the URL of the SFTP connection

iii.     Optionally add any File Masks in this field to describe what pattern of files you want to pick
 up

3.      Read-Only Connect:

i.       Name the Connector

ii.      Enter the Path

iii.     Add SymLink directory

iv.     Ensure that you add a File Mask pointing to a single file when saving and enabled this
 adapter.

1.1   Any File Masks that need to persist can be added at a later step once testing is complete.

3.      Test and validate the above connector configuration:

a.      Standard Connector:

i.      Drop a single file into the specified path configured in the Connector created above.

ii.     Ensure that the file was ingested by the Local Agent by navigating to the Files section of the Syncrofy web application. The ingested files should be listed there.

iii.   Ensure files are removed from directory.

iv.     Drop multiple files into the specific path configured in the Connected created above.

v.     Ensure that all files were ingested by the Local Agent by navigating to the Files section of the Syncrofy web application. The ingested files should be listed there.

b.      Read Only Connector:

i.       Ensure that the specific file that was configured as a File Mask in the Connector above was ingested by the Syncrofy Local Agent by navigating to the Files section of the Syncrofy web application. The ingested file should be listed there

ii.      Update the File Mask for the Read-Only Connector created above to include multiple files.

            1.1   The File Mask should contain two specific filenames that already exist in the Path
              configured in the Read-Only Connector.

            1.2   Ensure that both files were ingested by the Syncrofy Local Agent by navigating to the
               Files section of the Syncrofy web application. The ingested file should be listed there.

iii.      Once the above files have been ingested and validated, edit the Read-Only Connector.

1.1      Remove any unnecessary File Masks

1.2      Add any required File Masks, e.g., *.edi, 997*.txt

Note: Enabling this adapter with no manual timestamp execution in MongoDB will cause the Syncrofy Local Agent to read in and ingest ALL files currently stored in the specified path.


  1.3      Save and enable the Connector.


5.4      Configure Syncrofy Features

1.      Set up your our own company's EDI identifiers.

a. Set up Subsidiary company identifiers

2.      Set up Trading Partners

3.      Configure users, groups, and permissions.

4.      Load data into system

 5.      Set up rules (SLA rules, validation rules, etc.)