Mirroring is a feature of Express Server that allows you to keep the catalog and spatial index configuration of multiple Express Servers on a network in sync. You may have any number of slave servers.
All the Express Servers must be of the same version and running on the same platform. Use the browse command to verify that you are not attempting to mirror servers of differing versions.
NOTE: To enable communication between Express Servers you must configure IP restrictions on each Express Server. For more information on IP restrictions, see Configuring Express Server Authentication.
To configure your Express Servers for mirroring, select one to be the master Express Server. In the base configuration file (iserv-cfg.xml
) of the master, place the following code immediately after the ImageManager
element:
<Mirrors>
<Secondary host="<hostname1>" port="<port>" ssl="none" />
<Secondary host="<hostname2>" port="<port>" ssl="none" />
</Mirrors>
When you configure Express Server for mirroring, you must set the following properties:
<hostname>
. Enter the hostname of the secondary (or slave) Express Server. Each secondary
element denotes another Express Server.<port>
. Enter the port number of the secondary Express Server. If you exclude the port
property from the secondary element, Express Server uses port 80 by default.ssl
. Enter none
if the secondary Express Server uses HTTP. If the secondary Express Server uses HTTPS, enter either noverify
or strict
. If you enter noverify
, the Express Server accepts both self-signed certificates and certificates signed by a trusted certificate authority. If you enter strict
, the Express Server only accepts certificates signed by a trusted certificate authority.For the master Express Server to accept communication from a secondary Express Server using HTTPS, it requires an SSL certificate. Obtain a copy of the SSL certificate used by web server on the secondary Express Server, then place the certificate in the following directory:<Installation Directory>\ImageServer\etc\
For Express Server to read the certificate, the certificate must be named ca-bundle.crt
and saved in base64
encoding. If there are multiple secondary Express Servers, you must obtain a copy of each server's certificate. Then, use a text editor to concatenate the certificates into one file named ca-bundle.crt
. For more information on SSL certificates, refer to your web server's documentation.
TIP:Most web browser provide a utility for exporting the SSL certificate used by a web page to base64
encoding. If you cannot export a copy of the certificate from the web server, you may navigate to the web page for your server and attempt to export the certificate with the browser.
After you make changes to the base configuration file, save the file, and restart the LizardTech Express Server Tomcat service or daemon. For more information on the base configuration file, including the ImageManager
element, see Basic Express Server Configuration Using XML Files. For more information on restarting the Tomcat service or daemon, see Starting and Stopping the Tomcat Service.
The server administrator should specify only one Express Server to be the master, and only that master Express Server may have a list of mirrors. When correctly setup, the Express Servers can be mapped out as follows:
In a mirroring configuration, only the Express Server Manager of the master server should be used for catalog configuration.
Express Server does not synchronize actual image content. It synchronizes the catalog configuration, spatial indexes and spatial overviews. Image repositories can either be synchronized independently or stored on a shared file system. In both cases, the Path
elements of each catalog in the catalog configuration file (catalogs.xml
) should reference an image repository that will be common among all synchronized Express Servers.
That is, the path to the repository must be identical, whether the repository is synchronized or shared.
On Unix, you can reference shared repositories in the Path
element using an NFS or samba mount:
<Path>/mnt/images/samples</Path>
On Windows use the UNC share method:
<Path>\\img-server\imageshare\samples</Path>
NOTE: For shared repositories to work properly the user must have permissions to the network resource.
On Unix systems the httpd
and ltcsd
processes must be running as the same user in order to support mirroring. The user designated for running ltcsd
is set during Express Server installation, but can be changed by setting the LT_IS_USER
variable in the environment file at <Express Server installation directory>/ImageServer/etc/env.sh
. Alternatively, you can change the user designated for running Apache via the "User"
directive in the httpd.conf
file (for more information about the httpd.conf
file see Configuring Apache).
Once mirroring is configured, publishing is automatic. Any time you publish changes to the master server, the master server reloads its own catalogs.xml
file (picking up the local changes), and send its entire configuration set to each of its slaves.
As Express Server piggy-backs on either IIS or Apache HTTP server, it is up the network administrator to configure the security settings of a web server to prevent malicious use of Express Server's administrative functions. Consult your IIS or Apache documentation for more security details.
NOTE: Express Server keeps an archived history of the configuration files that are overwritten by mirroring operations. These files include spatial indexes, overviews and databases. You should periodically delete unneeded archives (see Clearing the Configuration Archive).