You are here: Common Tasks > Configuring Multiple Express Servers

Configuring Multiple Express Servers

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.

Configuration

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:

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.

Setting Up Shared Repositories for Your Imagery

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.

Mirroring and Unix Systems

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).

Usage

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.

Security

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).