Use these instructions to install the Sync Service repository modules and services on Alfresco Content Services.
The Sync Service distribution zip file, AlfrescoSyncServer-3.0.x.zip, includes all the files required to provide the Sync Service. This file contains the following artifacts:
amps-repositorydirectory containing the Sync Service repository AMP:alfresco-device-sync-repo-3.0.x.amplicensesdirectory containing the 3rd-party licensesservice-syncdirectory with:service-sync-3.0.x.jarSync Service JARconfig.ymlproperty filesyncservicestart/stop scriptsync.jksSSL keys
activemqdirectory containing a bundled ActiveMQ zip file
Note
The keystore sync.jks contains a self-signed certificate that should be used for testing purposes only. You'll need to provide your own SSL keys for a production environment.
Note
Make sure you're running the correct versions of operating system and software before you install the AMP file. See Prerequisites for more information.
-
Download
AlfrescoSyncServer-3.0.x.zipfrom Hyland Community. -
Extract the
AlfrescoSyncServer-3.0.x.zipfile into a system directory; for example,<installLocation>/.We'll refer to this new directory (
<installLocation>/sync), as the Alfresco Sync Service installation directory. In this directory you'll see these folders:activemqamps-repositorylicensesservice-sync
-
Stop the Alfresco repository.
-
Use the Module Management Tool (MMT) to install the
alfresco-device-sync-repo-3.0.x.ampAMP into the repository WAR.For more information, see instructions in Install the AMP file.
For example, to apply the
alfresco-device-sync-repo-3.0.x.amp, use the following command:java -jar <alfrescoInstallLocation>\bin\alfresco-mmt.jar install <installLocation>\amps-repository\alfresco-device-sync-repo-3.0.x.amp <installLocation>\tomcat\webapps\alfresco.war -
Add the following properties to the
alfresco-global.propertiesfile:dsync.service.uris=https://<hostname>:9090/alfresco messaging.broker.url=failover:(tcp://localhost:61616)?timeout=3000where:
dsync.service.urisspecifies the hostname of the Sync Service (or the load balancer hiding the Sync Service cluster) that Desktop Sync clients can see. For example,https://<hostname>:9090/alfresco.- The
dsync.service.urisvalue needs to be set to an IP address or hostname of the Sync Service machine that can be accessed by the Desktop Sync clients outside the firewall. In addition, the port 9090 needs to be opened up in the firewall so that clients can access the Sync Service. messaging.broker.urlspecifies the location of ActiveMQ.
-
Configure the Sync Service properties in the
<installLocation>/service-sync/config.ymlfile.For example, edit the following properties:
-
repo:
hostname: localhostwhere
repo.hostnameis the IP address of the repository host. -
messaging:
broker: host: localhostwhere
messaging.broker.hostis the IP address of the ActiveMQ host. -
sql:
db: url: jdbc:postgresql:alfrescowhere
sql.db.urlis the URL of the Postgres database.
-
-
Start and configure PostgreSQL.
For more information, see Configuring PostgreSQL database for Desktop Sync.
-
Start ActiveMQ.
If ActiveMQ is down, the repository transactions will fail and rollback. In production environments, it's advisable that you run an ActiveMQ cluster in failover mode to avoid this situation. See ActiveMQ master/slave configurations.
For more information, see Setting up ActiveMQ.
-
Start the repository.
Note
Wait for the repository to fully start before proceeding to the next step.
-
Start the Sync Service.
For Linux:
cd <installLocation>/service-sync java -Xmx2G -Djava.io.tmpdir=/var/tmp/dsync -classpath <classpath to database.jar file>:service-sync-3.0.x.jar org.alfresco.service.sync.dropwizard.SyncService server config.ymlSee Running Sync Service via a script.
For Windows:
cd <installLocation>/service-sync java -Xmx2G -Djava.io.tmpdir=/users/<username>sync/tmp -classpath <classpath to database.jar file>;service-sync-3.0.x.jar org.alfresco.service.sync.dropwizard.SyncService server config.ymlNote
For production systems, you need to configure JMX authentication as password authentication over the Secure Sockets Layer (SSL) is enabled by default. However, in a test environment, you can disable all security, namely both password authentication and SSL, when you start the Java VM. See Connect to Sync Service through JMX for configuration options. For more information, see the JRE documentation.
Note
The PostgreSQL JDBC driver must be provided and included in the startup command line as shown above.
For more information, see Install and configure PostgreSQL database.
-
Access Alfresco Share by browsing to:
http://<hostname>:8080/share -
Check the repository and Sync Service log file (
<installLocation>/service-sync/logs/sync-service.logby default) to see if the Sync Service started properly. The location of the log file can be configured using theloggingproperties in theconfig.ymlfile.To validate that the Sync Service is configured correctly, see Sync Service health check.