Installing Zoom Server (Linux)

Zoom Server is certified to run on CentOS / Red Hat Linux for the server (Please check the system requirements for the exact OS version supported at the current time). The following instructions describe how to perform a basic installation of Zoom Server on these systems. This guide assumes that CentOS / RHEL has already been installed and configured.

Dependencies

Install Libraries

LibraryYum Installation Command
glib2.x86_64yum install glib2.x86_64~~yum install glib2.x86_64
libstdc++.x86_64yum install libstdc++.x86_64
compat-libstdc++-33yum install compat-libstdc++-33
libgompyum install libgomp
libasound.so.2yum install libasound.so.2
libX11yum install libX11
fontconfigyum install fontconfig.x86_64
libwmf.x86_64yum install libwmf.x86_64
libXext.x86_64yum install libXext.x86_64
libXt.x86_64yum install libXt.x86_64
libICE.x86_64yum install libICE.x86_64
ld-linux.so.2yum install ld-linux.so.2
libSM.x86_64yum install libSM.x86_64

You can also run the following command in your terminal:
sudo yum install glib2.x86_64 libstdc++.x86_64 compat-libstdc++-33 libgomp libasound.so.2 libX11 fontconfig.x86_64 libwmf.x86_64 libXext.x86_64 libXt.x86_64 libICE.x86_64 ld-linux.so.2 libSM.x86_64

Create Service User

  1. Log into the RedHat Linux server running Zoom as root user.
  2. Type the following command to add a user called with a name you like, for instance, “evolphin”:
    $ useradd -r -m evolphin
  3. Type the following command to set a password for the user.

    $ passwd evolphin

Set up Firewall Settings

Zoom must have the following ports open for normal operation:

The following ports should be opened in the firewall for Zoom access:

PortRequired for desktop accessRequired for web accessDescription
8880YesNoZoom Server
8443YesNoWeb Administration & API access
8873YesYesPreview Server
8983NoNoZoom Curator Service
8874NoNoZoom NonStop Server to Server Data Transfer (HADR)
18880NoNoZoom NonStop Server to Server Control Messages (HADR)
7770YesNoZoom Client Proxy to Adobe plugins
9880Yes*No*SSL Zoom Server
9443Yes*No*SSL Web Administration & API access
8973Yes*Yes**SSL Preview Server
443Yes*Yes**SSL Preview Server
8974NoNo*SSL Zoom NonStop Server to Server Data Transfer (HADR)
8282NoYesArchive Hub
9292NoNo*SSL Archive Hub
5551YesYesEZ Downloader

To test any TCP port’s connectivity, check this article.

*Usually if SSL ports are enabled, their non-SSL counterpart ports can be disabled or blocked by the firewalls.

Desktop access includes Asset Browser, Repository Browser, Zoom plugins, Client Proxy, and EZ client installer. 

Web access includes Web Asset Browser and Web Client.

  1. Edit the IPTABLES by typing the following:
    $ nano /etc/sysconfig/iptables
  2. Append following code to open the ports for Zoom:
    $ nano /etc/sysconfig/iptables
  3. Add the following to the file:
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8880 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8873 -j ACCEPT
  4. On the keyboard, hit Ctrl+X to close the document.
  5. To save the document, hit Y and Enter on your keyboard.
  6. Restart the iptables service:
    $ service iptables restart

Install Zoom Package

Moving Files

  1. Make sure you sudo or log into the evolphin zoom user account. Assuming the account is evolphin (could be evolphin or whatever Zoom service user you created in the previous step):
    $ sudo su - evolphin
  2. Copy the Linux server distribution, zoom*.tar.bz2 installation file to a preferred folder such as /home/evolphin on the Zoom Server. The rest of the instructions assume the installation folder is /home/evolphin/, this is not required, you can use any preferred folder.
  3. Make sure you are NOT a root user at this point:
    $ whoami
    evolphin
  4. Verify the md5sum is the same from the properties file and md5sum output

    $ grep md5 *.properties; md5sum zoom-server-linux64.tar.bz2

Extract Files

  1. Extract the *.tar.bz2 into the /home/evolphin/ directory using the command shown below.
    If you get the error as shown below the command, you will need to install bzip2

     

    $ tar -jxvf zoom-server-linux64.tar.bz2

     

    tar (child):bzip2: Cannot exec :Nosuch of file or directory
    tar (child): Error is not recoverable: exitng now
    tar: Child returned status 2
    tar:Error is not recoverable: exiting now
  2. The folder you extracted into, will now be the Zoom home directory, [zoomDirectory].
  3. Exit and switch back to the root user or do the following command.

    $ sudo su -

  4. Ensure the ownership for the zoom folder is with the evolphin user:
    [root@rhel6 zoom]# ls -ald ./zoom
    drwxrwxr-x. 13 evolphin evolphin 4096 Dec 2 16:06 ./zoom
  5. Change the ownership for the zoom folder to evolphin user if you accidentally extracted as root:
    $ chown -R evolphin /home/evolphin/zoom

Set up Init Script

  1. Make a copy of the init.d scripts for Zoom and Preview Server from [zoomDirectory]/bin by typing the following command:
    $ cp /home/evolphin/zoom/bin/zoom_init.d.sh /etc/init.d/zoom
    $ cp /home/evolphin/zoom/bin/preview-server_init.d.sh /etc/init.d/preview-server

     

    • If Auto-checkout feature is needed, only then do this on the Zoom Server: $ cp /home/evolphin/zoom/bin/clientproxy_init.d.sh /etc/init.d/zmclientproxy
  2. Add to the zoom init.d file the ZOOM_HOME and ZOOM_USER variables to add the path to Zoom and the username to run the Zoom respectively.
    $ nano /etc/init.d/zoom
    #!/bin/sh
    # chkconfig: 35 - -
    # description: Start and stops zoom server.
    ### BEGIN INIT INFO
    # Provider: Revzoom
    # Required-Start: $network# Required-Stop:
    # Default-Start: 3 4 5
    # Default-Stop: All
    # Description: Zoom Server.
    ### END INIT INFO
    ZOOM_HOME="/home/evolphin/zoom"
    ZOOM_USER="evolphin"
    if [ -z "$ZOOM_HOME" ]; then echo "ERROR: cannot start Zoom."
    echo "Please set ZOOM_HOME to the installation directory using export ZOOM_HOME OR set it in zoom init.d script"
    ...
  3. In the top, change the chkconfig:
    Before:
    # chkconfig: 35 - -
    After:
    # chkconfig: 345 55 25
  4. On the keyboard, hit Ctrl+X to close the document.
  5. Add to the preview-server init.d file the ZOOM_HOME and ZOOM_USER variables to add the path to Zoom and the username to run the Zoom respectively.
    $ nano /etc/init.d/preview-server
    #!/bin/sh
    #
    # chkconfig: 35 - -
    # description: Start and stops preview server.
    ### BEGIN INIT INFO
    # Provider: Revzoom
    # Required-Start: $network
    # Required-Stop:# Default-Start: 3 4 5
    # Default-Stop: All
    # Description: Preview Server.
    ### END INIT INFO
    ZOOM_HOME="/home/evolphin/zoom"
    ZOOM_USER="evolphin"
    if [ -z "$ZOOM_HOME" ]; then
    echo "ERROR: cannot start Preview Server."

    echo “Please set ZOOM_HOME to the installation directory using export ZOOM_HOME OR set it in preview server$
  6. In the top, change the chkconfig:
    Before:
    # chkconfig: 35 - -
    After:
    # chkconfig: 345  55 25
  7. On the keyboard, hit Ctrl+X to close the document.
  8. To save the document, hit Y and Enter on your keyboard.
  9. Add to the zmclientproxy init.d (if remote hot folder feature is needed) file the ZOOM_HOME and ZOOM_USER variables to add the path to Zoom and the username to run the Zoom respectively.
    $ nano /etc/init.d/zmclientproxy
    #!/bin/sh
    #
    # chkconfig: 35 - -
    # description: Start and stops zmclientproxy.
    ### BEGIN INIT INFO
    # Provider: Revzoom
    # Required-Start: $network
    # Required-Stop:# Default-Start: 3 4 5
    # Default-Stop: All
    # Description: zmclientproxy.
    ### END INIT INFO
    ZOOM_HOME="/home/evolphin/zoom"
    ZOOM_USER="evolphin"
    if [ -z "$ZOOM_HOME" ]; then
    echo "ERROR: cannot start zmclientproxy."

    echo “Please set ZOOM_HOME to the installation directory using export ZOOM_HOME OR set it in zmclientproxy$
  10. In the top, change the chkconfig:
    Before:
    # chkconfig: 35 - -
    After:
    # chkconfig: 345  55 25
  11. On the keyboard, hit Ctrl+X to close the document.
  12. To save the document, hit Y and Enter on your keyboard.
  13.  Exit root sudo and return to evolphin user

Set up Services to autostart on Startup

  1. Add the Zoom and Preview-Server services to chkconfig using the command:

    $ sudo chkconfig --add zoom

    $ sudo chkconfig --add preview-server

    Zoom Client Proxy service is an optional service that you can run on the Zoom Linux Server machine to set up service as a hot folder ingest.  Additionally, this service can also be useful when you want to set up a hot folder on a headless Linux machine. Use the following link for instructions to set up a hot folder on a headless machine.

     

    $ sudo chkconfig --add zmclientproxy

Starting and Stopping Services

For information on how to start and stop services for a Windows Server, see Starting and Stopping Zoom Services (Windows) .

Zoom has various services for its MAM, Preview, Curator, and HADR Servers. You may use one or more of these on the servers for Zoom. If multiple services are running on a server then it is recommended to follow an order while starting, restarting, or stopping them.

The recommended order to start/restart services is:

  1. Zoom HADR Service – for Zoom NonStop Servers
  2. Zoom Services – for Zoom MAM Server and Zoom NonStop Servers
  3. Zoom Preview Service – for Preview Server, Transcoder, Ingest Server
  4. Zoom Curator Service – for Curator Server

Stop the services in the reverse order.

The following instructions describe how to properly stop Zoom Services on RedHat and CentOS Linux.

Start Zoom Server and Preview Server

Please follow the following procedures for starting Zoom Services:

  1. In Terminal, run the following command to start the Zoom Server Service:
    $ sudo service zoom start
  2. In Terminal, run the following command to start the Zoom Preview Server Service:
    $ sudo service preview-server start

Stop Zoom Server and Preview Server

Please follow the following procedures for stopping Zoom Services:

  1. In Terminal, run the following command to stop the Zoom Server Service:
    $ sudo service zoom stop
  2. In Terminal, run the following command to stop the Zoom Preview Server Service:
    $ sudo service preview-server stop

Zoom Client Proxy Service

In Zoom 5.2 or greater, you can optionally configure and run the zoom client proxy on Linux server machines if you want to make use of services like Hot Folder ingest. The commands to start and stop the client proxy service is similar to the ones listed above.

  1. In Terminal, run the following command to start the Zoom Client Proxy Service:
    $ sudo service zmclientproxy start
  2. In Terminal, run the following command to stop the Zoom Client Proxy Service:
    $ sudo service zmclientproxy stop

Other Services in Linux

These services are used for Zoom or related products:

ServerUsual Service Name
Zoom Serverzoom
Preview Serverpreview-server
Curator Servercurator-server
Zoom NonStophadr-server
Hubhub
EZez-updater

Configure Network Settings

If you need to change the network settings such as DNS hostname or IP addresses of the servers please look at:

Updating additional services and features

Curator (enhanced searching) 

For the full details on this service please visit: https://help.evolphin.com/docs/curator-configuration/

Installing the service

  1. Copy curator-server_init.d.sh from the Zoom_Installation_Directory/bin/ directory to the /etc/init.d/ directory.
  2. Rename the newly copied file to curator-server
  3. Edit the curator-server file in a text editor, if required, to ensure the values of the following 2 variables match the Zoom setup:
    • ZOOM_HOME=Zoom_Installation_Directory; by default ZOOM_HOME=/home/evolphin/zoom
    • ZOOM_USER=Service_Running_User; by default ZOOM_USER=evolphin
  4. Open the Terminal and issue the following commands as the root user:
    • chkconfig --add curator-server
    • chkconfig --list

    Ensure that the solr-server service is listed in the output of the second command.

  5. Now the Curator service can be controlled, like other Zoom Services, with the following commands on the Linux Terminal:
    • service curator-server status (Check the status of Curator service)
    • service curator-server start (Start the Curator service)
    • service curator-server stop (Stop the Curator service)
    • service curator-server restart (Restart Curator service)

 

Configuring the service

For Curator configuration on a Zoom HADR setup, refer to the article on Setup of Curator with HADR.

These additional initial configuration steps are only needed when the Curator service is being set up on a separate machine. If the Curator service is to be run on the same machine installation as the Zoom service, then skip to the next section.

  1. Manually edit the Zoom_Installation_Directory/conf/server.xml on the Zoom server in the following manner.
    • Open the server.xml in a text editor.
    • In the editor, move to the ftsSpec section.
    • Set the host tag value to the Curator service machine’s hostname or IP.
      e.g. <host>zm04.company.com<host>
    • Set the solrDataDir tag value to the Curator service database directory; see below for a detailed description.

      The data directory is recommended to be located on a file-system that provides fast disk access, like local SSD drives, fiber-channel connected drives, etc.

    • Save the file.
  2. Copy the server.xml file edited above, to the Curator server machine, overwriting Zoom_Installation_Directory/conf/server.xml. Alternatively, edit the server.xml file on the Curator server in the same manner as above.
  3. Start/Restart the Curator Service
  4. Start/Restart Zoom Service
  5. Open the Web-based Admin Console in a web browser.
    Sample URL for the Admin Console: http://localhost:8443/
  6. Open the Server Control Panel from the left navigation panel.
  7. Open the Curator-based Search Management form in the central control panel.
  8. Change the config, as required, and then save the form. The descriptions of the various parameters are given below.
    Curator-based Search Management Form

The configurable parameters signify the following:

  • File Content Index: Specify whether Content Indexing has to be enabled or not.
  • File Content Search: Specify whether Content-based Searching has to be enabled or not.
  • Non-File Content Index: Specify whether Non-Content Indexing has to be enabled or not.
  • Non-File Content Search: Specify whether Non-Content based Searching has to be enabled or not.
  • Host: Curator service machine hostname or IP; as will be accessed from the Zoom service (Default: localhost)
  • Port: The port on which the Curator service runs (Default: 8983)
  • Log Level: The logging level to be used for Curator logs (Default: INFO)
  • Failed Documents Notification: Frequency for sending email notifications to the super-admins about documents that failed to get indexed. It can be set to daily, hourly, weeklyor, disable. (Default: daily).
  • Solr Data Dir: Path to the Solr database directory on the Curator service machine; where the indexing information of the Zoom repository files is stored. (Default: “Zoom_Installation_Directory/db/solr-db” )

    The Solr Data Dir cannot be changed if the directory is no longer empty. That is, it cannot be changed after the first file got indexed successfully.

The other parameters are either non-configurable or, do not usually require any change from the defaults. Additional details about them can be found in the advanced Curator config specification.

Whenever a new change is submitted in the Curator-based Search Management form of the Server Control Panel, the submitted details are first sent from Zoom to Curator for verification and are saved only when they are acceptable.

The communication between Zoom and Curator to establish the correctness of input parameters could be slow on certain set-ups.

Faceted Search 

For the full details on this service please visit: https://help.evolphin.com/docs/v5/client/vab/faceted-search/
Note: any client-side zoom.properties entry can be pushed from the server to all the clients. See here.

 

  • Client-side: Number of entries loaded under each category. The default value is 5
    • Open zoom.properties file from $Home/.zm

       

      /Users/joe/.zm/zoom.properties
    • Add new property FACETED_SEARCH_LIMIT
      FACETED_SEARCH_LIMIT=10
  • Client-side: Controlling the order in which categories will be visible inside the Asset Browser.
    • Add property FACETED_SEARCH_CATEGORY_ORDER in zoom.properties
      FACETED_SEARCH_CATEGORY_ORDER=file_type_filter,project_name,metadata_key,keyword,file_name
      • file_type_filter = File Type Filters
      • project_name = Projects
      • metadata_key = Metadata Properties
      • keyword = Keywords
      • file_name= File Name
  • Server-side: Skipping metadata groups or property fields from the indexing, so that these groups or properties will not be visible in under the list of facets in Asset Browser
    • Open metadataspec.xml from $ZOOM_INSTALL_DIR/conf
      /home/evolphin/zoom/conf/metadataspec.xml
    • Add a new tag skipMetadataFromIndexing under the config tag
      • skipMetadataFromIndexing may contain subtags group or prop, based on the requirements that need to be skipped

        • Syntax
          For skipping metadata group -> <group>groupcode</group>
                where groupcode is the code of metadata group specified in metadataspec.xml
          For skipping metadata property -> <prop>groupcode_propertylabel</prop>
                where properylabel is of field inside metadata group
          
        • Example
          To skip indexing for
          metadata groups -> FIPR (File Properties) and CAME
          metadata properties -> Bitrate under metadata group VDEO (Video Properties) and Headline under group IPTC
          <config>
            <xmpSupportedFormats> ... </xmpSupportedFormats>
            <skipMetadataFromIndexing>
              <group>FIPR</group>
              <group>CAME</group>
              <prop>VDEO_Bitrate</prop>
              <prop>IPTC_Headline</prop>
           </skipMetadataFromIndexing>
          </config>
          

 

Web Client 

The Zoom Web Client that launched with Zoom 7 will be accessible out of the box. However, certain aspects like visual appearance, company logo and repository destination for uploads can be configured. For more information on this feature please visit: https://help.evolphin.com/docs/web-client-configuration/
 

Project templates for the Adobe suite

For the full details on this feature please visit: New Project creation in Evolphin Zoom plugin

In 7.0. the templates are configured using the Web Management Console.

Navigate to Plugin->Adobe Plugin->Manage Templates, and add / delete / edit the templates as required.  

New Project creation after changing Premiere Pro version

When the Premiere Pro version is changed(e.g. from CC2016 to CC2017), Premiere Pro may prompt to convert the project file, if you have created the project template in some other version of Premiere Pro:

Convert_dialog

To avoid this, the project template should be created in the same Premiere Pro version for which the template will be used. 

A project template for Premiere Pro CC2017 is attached below for reference:

Project_Template_CC2017

Expanded SSL support for core Zoom operations

For the full details on this feature please visit: https://help.evolphin.com/docs/ssl-support-for-core-zoom-operations/
Stop Zoom services on the Zoom Server, Preview Server, Curator Server, and HADR Server before continuing. Restart Zoom services on HADR Server, Zoom Server, Preview Server, and Curator Server in that order after updating the files mentioned below.

To enable SSL in Zoom, do the following for each of the Zoom Server and Zoom Preview Server. Ignore the HADR peer section if HADR is not in use.

On the Zoom Server

On the Zoom Server, navigate to the conf folder in the Zoom Install directory (ZoomInstallDir/conf).

Open server.xml and update the following tags:

  1. Under <networkspec>, set <securePortEnabled> tag as true
  2. Under <networkspec>, set <securePort> tag as 9880
    Sample Server.xml

     

  3. Under <webserverspec>, set <useSslForDesktopClient> tag as true
  4. Under <webserverspec>, check <sslPort> tag is 9443
  5. Under <webserverspec>, set <ssl> tag as true
    Sample Server.xml

     

  6. If the LDAP server is not in use then skip this step. If LDAP server is in use, then under <ldapspec>, set <useSsl> tag as true

     

If any of the tags specified above are not found, please add the tag under that relevant section.

Save changes to the server.xml file.

On the Preview Server

On the Zoom Preview Server, navigate to the conf folder in the Zoom Install directory (ZoomInstallDir/conf).

Open server.xml and update the following tags:

  1. Under <ServerConnection>, set <sslPort> tag as 8973
  2. Under <ServerConnection>, set <enableSsl> tag as true
  3. Under <reviewserverspec>, set <proxySslPort> tag as 8874
  4. Under <reviewserverspec>, set <useSslForDesktopClient> tag as true

     

Save changes to the server.xml file.

Now, navigate to the conf folder in the Zoom Install directory (ZoomInstallDir/conf).

Open preview-server.xml and update the tag <ZoomServerHostPort> to use https(eg. <ZoomServerHostPort>https://[ZoomServerIP]:9880>). Save changes.

Certificate setup with a commercial certificate

Before setting up the SSL certificates on servers, stop Zoom services on the Zoom Server, Preview Server, Curator Server, and HADR Server. Restart services after the server-side setup are complete.
Similarly, stop the Zoom Client Proxy service on a Client machine before setting up the SSL certificates (only for self-signed certificate).

Copy the certificate file to the conf folder in the Zoom Install directory (ZoomInstallDir/conf) for each server machine.

Now, save the password provided with the SSL certificate in each of the Zoom modules as follows:

 
Zoom Server
  1. From the conf folder, open filewrapper.conf
  2. Set these two properties:

    wrapper.java.additional.11=-Dzoom.ssl.keystore.path=

    wrapper.java.additional.12=-Dzoom.ssl.keystore.pass=

 
Preview Server
  1. From the conf folder, open file preview-server.conf
  2. Set these two properties

    wrapper.java.additional.11=-Dzoom.ssl.keystore.path=

    wrapper.java.additional.12=-Dzoom.ssl.keystore.pass=

 
Curator Server
  1. From the conf folder, open file curator-server.conf
  2. Set these two properties

    wrapper.java.additional.11=-Dzoom.ssl.keystore.path=

    wrapper.java.additional.12=-Dzoom.ssl.keystore.pass=

 
Client Systems

No setup needed.

Certificate setup with a self-signed certificate

Copy the certificate file to the conf folder in the Zoom install directory (ZoomInstallDir/conf).

The certificate information also needs to be set up in the zoom properties file for the server machine for Zoom.

  1. From the user folder (../users/$user/.zm/) open zoom.properties
  2. Set these two properties

    ZOOM_SSL_TRUSTSTORE_PATH=

    ZOOM_SSL_TRUSTSTORE_PASSWORD=

Now, save the password provided with the SSL certificate in each of the Zoom modules as follows:

 
Zoom Server
  1. From the conf folder, open file wrapper.conf
  2. Set these two properties

    wrapper.java.additional.11=-Dzoom.ssl.keystore.path=

    wrapper.java.additional.12=-Dzoom.ssl.keystore.pass=

 
Preview Server
  1. From the conf folder, open file preview-server.conf
  2. Set these two properties

    wrapper.java.additional.11=-Dzoom.ssl.keystore.path=

    wrapper.java.additional.12=-Dzoom.ssl.keystore.pass=

 
Curator Server
  1. From the conf folder, open file curator-server.conf
  2. Set these two properties

    wrapper.java.additional.11=-Dzoom.ssl.keystore.path=

    wrapper.java.additional.12=-Dzoom.ssl.keystore.pass=

 
Client Systems

The certificate information also needs to be set up in the zoom properties file for each client machine with Zoom.

  1. From the user folder (../users/$user/.zm/), open zoom.properties
  2. Set these two properties

    ZOOM_SSL_TRUSTSTORE_PATH=

    ZOOM_SSL_TRUSTSTORE_PASSWORD=

Leave a Comment