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
Library | Yum Installation Command |
---|---|
glib2.x86_64 | yum install glib2.x86_64~~yum install glib2.x86_64 |
libstdc++.x86_64 | yum install libstdc++.x86_64 |
compat-libstdc++-33 | yum install compat-libstdc++-33 |
libgomp | yum install libgomp |
libasound.so.2 | yum install libasound.so.2 |
libX11 | yum install libX11 |
fontconfig | yum install fontconfig.x86_64 |
libwmf.x86_64 | yum install libwmf.x86_64 |
libXext.x86_64 | yum install libXext.x86_64 |
libXt.x86_64 | yum install libXt.x86_64 |
libICE.x86_64 | yum install libICE.x86_64 |
ld-linux.so.2 | yum install ld-linux.so.2 |
libSM.x86_64 | yum 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
- Log into the RedHat Linux server running Zoom as root user.
- Type the following command to add a user called with a name you like, for instance, “evolphin”:
$ useradd -r -m evolphin
- 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:
Port | Required for desktop access | Required for web access | Description |
---|---|---|---|
8880 | Yes | No | Zoom Server |
8443 | Yes | No | Web Administration & API access |
8873 | Yes | Yes | Preview Server |
8983 | No | No | Zoom Curator Service |
8874 | No | No | Zoom NonStop Server to Server Data Transfer (HADR) |
18880 | No | No | Zoom NonStop Server to Server Control Messages (HADR) |
7770 | Yes | No | Zoom Client Proxy to Adobe plugins |
9880 | Yes* | No | *SSL Zoom Server |
9443 | Yes* | No | *SSL Web Administration & API access |
8973 | Yes* | Yes* | *SSL Preview Server |
443 | Yes* | Yes* | *SSL Preview Server |
8974 | No | No | *SSL Zoom NonStop Server to Server Data Transfer (HADR) |
8282 | No | Yes | Archive Hub |
9292 | No | No | *SSL Archive Hub |
5551 | Yes | Yes | EZ 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.
- Edit the IPTABLES by typing the following:
$ nano /etc/sysconfig/iptables
- Append following code to open the ports for Zoom:
$ nano /etc/sysconfig/iptables
- 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
- On the keyboard, hit Ctrl+X to close the document.
- To save the document, hit Y and Enter on your keyboard.
- Restart the iptables service:
$ service iptables restart
Install Zoom Package
Moving Files
- 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
- 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.
- Make sure you are NOT a root user at this point:
$ whoami
evolphin
- Verify the md5sum is the same from the properties file and md5sum output
$ grep md5 *.properties; md5sum zoom-server-linux64.tar.bz2
Extract Files
- 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
- The folder you extracted into, will now be the Zoom home directory, [zoomDirectory].
- Exit and switch back to the root user or do the following command.
$ sudo su -
- 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
- 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
- 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
- Add to the zoom init.d file the
ZOOM_HOME
andZOOM_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" ]; thenecho "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"
... - In the top, change the chkconfig:
Before:# chkconfig: 35 - -
After:# chkconfig: 345 55 25
- On the keyboard, hit Ctrl+X to close the document.
- Add to the preview-server init.d file the
ZOOM_HOME
andZOOM_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$ - In the top, change the chkconfig:
Before:# chkconfig: 35 - -
After:# chkconfig: 345 55 25
- On the keyboard, hit Ctrl+X to close the document.
- To save the document, hit Y and Enter on your keyboard.
- Add to the zmclientproxy init.d (if remote hot folder feature is needed) file the
ZOOM_HOME
andZOOM_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$ - In the top, change the chkconfig:
Before:# chkconfig: 35 - -
After:# chkconfig: 345 55 25
- On the keyboard, hit Ctrl+X to close the document.
- To save the document, hit Y and Enter on your keyboard.
- Exit root sudo and return to evolphin user
Set up Services to autostart on Startup
- 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
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:
- Zoom HADR Service – for Zoom NonStop Servers
- Zoom Services – for Zoom MAM Server and Zoom NonStop Servers
- Zoom Preview Service – for Preview Server, Transcoder, Ingest Server
- 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:
- In Terminal, run the following command to start the Zoom Server Service:
$ sudo service zoom start
- 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:
- In Terminal, run the following command to stop the Zoom Server Service:
$ sudo service zoom stop
- 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.
- In Terminal, run the following command to start the Zoom Client Proxy Service:
$ sudo service zmclientproxy start
- 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:
Server | Usual Service Name |
---|---|
Zoom Server | zoom |
Preview Server | preview-server |
Curator Server | curator-server |
Zoom NonStop | hadr-server |
Hub | hub |
EZ | ez-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)
Installing the service
- Copy
curator-server_init.d.sh
from theZoom_Installation_Directory/bin/
directory to the/etc/init.d/
directory. - Rename the newly copied file to
curator-server
- 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 defaultZOOM_HOME=/home/evolphin/zoom
ZOOM_USER=Service_Running_User
; by defaultZOOM_USER=evolphin
- 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. - 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
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.
- 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.
- Open the
- Copy the
server.xml
file edited above, to the Curator server machine, overwritingZoom_Installation_Directory/conf/server.xml
. Alternatively, edit theserver.xml
file on the Curator server in the same manner as above. - Start/Restart the Curator Service
- Start/Restart Zoom Service
- Open the Web-based Admin Console in a web browser.
Sample URL for the Admin Console:
http://localhost:8443/
- Open the Server Control Panel from the left navigation panel.
- Open the Curator-based Search Management form in the central control panel.
- Change the config, as required, and then save the form. The descriptions of the various parameters are given below.
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 todaily
,hourly
,weekly
or,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
- 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
- Open zoom.properties file from $Home/.zm
- 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
- Add property FACETED_SEARCH_CATEGORY_ORDER in zoom.properties
- 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>
- Syntax
-
- Open metadataspec.xml from $ZOOM_INSTALL_DIR/conf
Web Client
Project templates for the Adobe suite
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:
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:
Expanded SSL support for core Zoom operations
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:
- Under
<networkspec
>
, set<securePortEnabled>
tag as true - Under
<networkspec
>
, set<securePort>
tag as 9880 - Under
<webserverspec
>
, set<useSslForDesktopClient>
tag as true - Under
<webserverspec
>
, check<sslPort>
tag is 9443 - Under
<webserverspec>
, set<ssl>
tag as true - 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
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:
- Under
<ServerConnection>
, set<sslPort>
tag as 8973 - Under
<ServerConnection>
, set<enableSsl>
tag as true - Under
<reviewserverspec>
, set<proxySslPort>
tag as 8874 - 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
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
- From the conf folder, open file
wrapper.conf
- Set these two properties:
wrapper.java.additional.11=-Dzoom.ssl.keystore.path=
wrapper.java.additional.12=-Dzoom.ssl.keystore.pass=
Preview Server
- From the conf folder, open file
preview-server.conf
- Set these two properties
wrapper.java.additional.11=-Dzoom.ssl.keystore.path=
wrapper.java.additional.12=-Dzoom.ssl.keystore.pass=
Curator Server
- From the conf folder, open file
curator-server.conf
- 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.
- From the user folder (../users/$user/.zm/) open
zoom.properties
- 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
- From the conf folder, open file
wrapper.conf
- Set these two properties
wrapper.java.additional.11=-Dzoom.ssl.keystore.path=
wrapper.java.additional.12=-Dzoom.ssl.keystore.pass=
Preview Server
- From the conf folder, open file
preview-server.conf
- Set these two properties
wrapper.java.additional.11=-Dzoom.ssl.keystore.path=
wrapper.java.additional.12=-Dzoom.ssl.keystore.pass=
Curator Server
- From the conf folder, open file
curator-server.conf
- 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.
- From the user folder (../users/$user/.zm/), open
zoom.properties
- Set these two properties
ZOOM_SSL_TRUSTSTORE_PATH=
ZOOM_SSL_TRUSTSTORE_PASSWORD=