Installing Zim 8

This document details all steps needed to install the latest version of Zim 8 on Windows and Unix and provides additional steps to be checked after ZimWeb installation.

You should also refer to the Release Notes of all versions up to the current one for details about what is new in Zim 8.

Windows Installation

Unix Installation

Additional Instructions for IBM AIX 4.x and 5.x

Additional Instructions for HP-UX 11

Additional Instructions for Linux

Additional Instructions for Solaris

Additional Instructions for Unixware

Remarks on ZimWeb Installation

 

Note: If you are installing ZimWeb . it will install the Java environment and Tomcat. However, this installation will not interfere with previous installations of any Java environment or Tomcat.

Windows Installation

For a successful installation, you must have full administrator privileges on the local machine. If you are not sure, contact your system administrator.

1. Increase Virtual Memory

Virtual Memory must be increased to accommodate Zim Server and handle shared memory segments across multiple databases. Choose the appropriate value below based on the desired implementation.

Client Implementation – available disk space: 500 MB

Server Implementation – available disk space: 2 GB

Note: These values represent the suggested minimum, and should not exceed half the amount of free disk space.

Windows XP: (Client/Server)

a) Open the Windows Control Panel and select the ”System” component.

b) Select the ”Advanced” tab.

c) Select the ”Performance Settings” button.

d) Select the ”Advanced” tab.

e) Select the virtual memory ”Change” button.

f) Select the drive which you installed on from the drive box.

g) Choose ”Custom Size”.

h) Set the ”Initial Size” and ”Maximum Size” to the recommended values.

i) Select the ”Set” button to apply the changes.

j) Select the ”OK” button. You may have to reboot your machine.

Windows 2000: (Client/Server)

a) Open the Windows Control Panel.

b) Select the ”System” component.

c) Select the ”Advanced” tab.

d) Select the ”Performance Options” button.

e) Select the virtual memory ”Change” button.

f) Select the drive which you installed on from the drive box.

g) Choose ”Custom Size”.

h) Set the ”Initial Size” and ”Maximum Size” to the recommended values.

i) Select the ”Set” button to apply the changes.

j) Select the ”OK” button. You may have to reboot your machine.

Windows NT 4 (SP6a): (Client Only)

a) Open the Windows Control Panel and select the ”System” component.

b) Select the ”Performance” tab.

c) Select the virtual memory ”Change” button.

d) Select the drive which you installed on from the drive box.

e) Choose ”Custom Size”.

f) Set the ”Initial Size” and ”Maximum Size” to the recommended values.

g) Select the ”Set” button to apply the changes.

h) Select the ”OK” button. You may have to reboot your machine.

Windows 98SE2/ME: (Client Only)

a) Open the Windows Control Panel.

b) Select the ”System” component.

c) Select the ”Performance” tab.

d) Select the ”Virtual Memory” button.

e) Select the ”Specify my own virtual memory settings” option.

f) Set the ”Minimum” and ”Maximum” to the recommended values.

g) Select the ”OK” button. You may have to reboot your machine.

2. Install Zim

1. Insert the Zim 8 software CD into your CD-ROM drive.

2. Zim 8 Setup automatically launches the Setup Wizard. If the Setup does not launch automatically, choose ”Run” from the Windows Start menu and execute the zim8setup.exe program in the CD Directory called Windows.

3. Follow the instructions as provided on the screen.

3. Install .NET Framework 1.1

In order to run ZimExplore, you need the run-time part of .Net called Framework 1.1. If you don't have this software installed, ZimExplore will not work. To install it, just go to Microsoft .NET Framework Version 1.1 Redistributable Package and click in "Download".

3. Additional Steps to Check ZimWeb

If you installed ZimWeb on Windows, you can check that ZimWeb is running correctly by going through the following procedure:

  1. Make sure that Zim Server is running with the example application database that was installed with ZimWeb . This database is located in ZimWeb\exampledb where your Zim software was installed;

  2. Verify that the file ZimWeb tomcat\webapps\ZII\WEB-INF\web.xml, located in the directory where your Zim software has been installed, contains the text "[ZIMWEB]". If so, change this text to the address of the directory where Zim software was installed. Example:

            <param-value>[ZIMWEB]\conf\zimweb.cfg</param-value>

change it to the following:

            <param-value>C:\Program Files\Zim Corporation\Zim\8.10\Zim\ZimWeb\conf\zimweb.cfg</param-value>

if you installed the Zim software in "c:\Program Files\Zim Corporation\Zim\8.10\Zim" (the default).

Similarly, change a second entry for "zimweb.log" as well, right below the above entry.

  1. Start Tomcat by selecting Start | Programs | ZimWeb | Start Tomcat. You should see the database agents start on the Zim Integrated Server console.

  2. Browse to the Tomcat Homepage by selecting Start | Programs | ZimWeb | Tomcat Homepage. If you see the Tomcat Homepage then Tomcat is functioning correctly.

  3. Browse to ZimWeb Administration by selecting Start | Programs | ZimWeb | ZimWeb Administration. When requested for the username and password, enter "zimwebadmin" and "zimweb" (the default values) respectively. The ZimWeb Administration Tool should appear, and should be indicating that the Database Connections are running.

  4. Stop and Start the database connections by pressing the appropriate button on the ZimWeb Administration page. Make sure that the connections are running for the next test.

  5. Browse to ZimWeb Example Application by selecting Start | Programs | ZimWeb | ZimWeb Example Application. The ZimWeb Example Application page should appear. Check that each example runs correctly.

  6. You can shutdown Tomcat by selecting Start | Programs | ZimWeb | Shutdown Tomcat. You should see the database agents terminated on the Zim Integrated Server console.

UNIX Installation

For a successful installation, you must have full administrator privileges on the local machine. If you are not sure, contact your system administrator.

1. Install Zim

1.  Insert the Zim 8 software CD into your CD-ROM drive.

2.  Change directories to the CD mounted directory and run the shell script "./Zim-8.xx.sh" where "xx" is the latest version of Zim 8.

3.  Follow the instructions as provided on the screen.

2. Setting the UNIX Environment Variables

To execute the Zim software, you first must set the UNIX environment variables. The commands used to set these variables vary depending on the shell being used.

Under the Korn Shell, Bourne Shell, or any POSIX Shell

Note: To make the settings consistent on a per-user basis, place these commands in the file ”$HOME/.profile”.

1.  Set the ZIM environment variable to indicate where Zim was installed (for example, /opt/zim8):

ZIM=/opt/zim8

export ZIM

2.  Set the ZIMTERM environment variable to indicate the name of your terminal. (The example ”build.ztcap” is installed with the software to give a starting point for configuring this file using the name ZIMTCAP):

ZIMTERM=build

export ZIMTERM

3.  Add the directory where the Zim files are located to your default search PATH:

PATH=$PATH:$ZIM

export PATH

Under the C Shell

Note: To make the settings consistent on a per-user basis, place these commands in the file ”$HOME/.cshrc”.

1. Set the ZIM environment variable to indicate where Zim was installed (for example, /opt/zim8):

setenv ZIM /opt/zim8

2. Set the ZIMTERM environment variable to indicate the name of your terminal (The example named ”build.ztcap” is installed with the software to give a starting point for configuring this file using the name ZIMTCAP):

setenv ZIMTERM build

3. Add the directory where the Zim files are located to your default search PATH:

setenv PATH $PATH:$ZIM

3. Configuring the Terminal

1. At the OS prompt, type $ZIM/zimtcap and press Enter.

2. Follow the instructions as provided on the screen.

Additional Instructions for IBM AIX 4.x and 5.x

1. Check the GCC package

You should also install the gcc package to run Zim. If you already have this package installed in our machine, disregard the following instructions.

To install gcc, go to www.bullfreeware.com and choose your operating system version. There, select the most recent gcc package (usually gcc-3.3.x) and download it. Next, follow the instructions in the item "install" found in the same page.

Additional Instructions for HP-UX 11

1. Apply Recent Patches

In order to run Zim 8, you need to apply all the most recent patches supplied by HP to your running environment.

2. Increase Shared Memory

The size of the Shared Memory needed will depend on the particular configuration used by Zim Server. If not enough memory is available, Zim Server will produce an error telling what is the shared memory needed.

To increase the shared memory, use the System Administrator Manager (SAM) to set the appropriate value of the parameter "shmmax".

Additional Instructions for Linux

1. Increase Shared Memory

The size of the Shared Memory needed will depend on the particular configuration used by Zim Server. If not enough memory is available, Zim Server will produce an error telling what is the shared memory needed.

To check the current shared memory, type command:

ipcs -lm

If it is needed to increase it, type the following command:

echo "NNN" > /proc/sys/kernel/shmmax

where "NNN" is the memory needed in bytes.

2. Increase Message Queues

Each Zim session requires two message queues. To check the existing queues, type the command:

ipcs -lq

If it is needed to increase it, edit the file /etc/sysctl.conf and add the following line:

kernel.msgmni=QQQ

where "QQQ" is the number of message queues needed (that is, 2 * number of users).

Then, run the following command to force the operating system to accept this new setting:

/sbin/sysctl -p

3. Check ZimWeb ./h3>

If you installed ZimWeb on Linux (not available on other UNIX platforms), you can check that ZimWeb is running correctly by going through the following procedure:

  1. Make sure that Zim Server is running with the example application database that was installed with ZimWeb . This database is located in $ZIM/ZimWeb/exampledb;

  2. Go to the $ZIM/ZimWeb/bin directory;  

  3. Start Tomcat by executing  tomcat_startup.sh;

  4. Browse to the Tomcat Homepage openning the Linux Web Browser and accessing http://localhost:8080. If you see the Tomcat Homepage then Tomcat is functioning correctly.

  5. Browse to ZimWeb Administration openning the Linux Web Browser and accessing http://localhost:8080/ZII/servlet/ZIIAdmin . When requested for the username and password, enter "zimwebadmin" and "zimweb" (the default values) respectively. The ZimWeb Administration Tool should appear, and should be indicating that the Database Connections are running.

  6. Stop and Start the database connections by pressing the appropriate button on the ZimWeb Administration page. Make sure that the connections are running for the next test.

  7. Browse to ZimWeb Example Application openning the Linux Web Browser and accessing http://localhost:8080/ZII/example/index.htm .The ZimWeb Example Application page should appear. Check that each example runs correctly.

  8. You can shutdown Tomcat by executing tomcat_shutdown.sh;

Additional Instructions for Solaris

1. Increase Shared Memory

The size of the Shared Memory needed will depend on the particular configuration used by Zim Server. If not enough memory is available, Zim Server will produce an error telling what is the shared memory needed.

If it is needed to increase it, edit the file /etc/system and add the following line:

set msgsys:shminfo_shmmax=NNN

where "NNN" is the memory needed in bytes.

Additional Instructions for Unixware

1. Increase Shared Memory

The size of the Shared Memory needed will depend on the particular configuration used by Zim Server. If not enough memory is available, Zim Server will produce an error telling what is the shared memory needed.

If it is needed to increase it, edit the file /etc/conf/cf.d/mtune and add the following line:

SHMMAX NNN

where "NNN" is the memory needed in bytes.

Next, you need to rebuild the kernel:

/etc/config/bin/idbuild

and reboot your machine.

Remarks on ZimWeb Installation

1. The ZimWeb Reference Platform

The ZimWeb installation includes not only ZimWeb . but also an Example Application, a Sun Java SDK and the Apache Tomcat Servlet Container. Together these are termed the "ZimWeb Reference Platform".

The "ZimWeb Reference Platform" is currently available for two environments: Windows and RedHat Linux.

The ZimWeb Reference Platform is straightforward to install on a Windows PC or on a redhat 7.x linux machine and is accomplished by the either Windows Installation or Unix Installation described above. It enables a Zim developer to start working with ZimWeb very quickly.

ZimWeb is a Java Servlet, which means that it can be executed on a variety of operating systems and Servlet Containers. ZimWeb has been tested successfully under various Java versions on various versions of Apache Tomcat on various platforms.

However, if you experience problems executing ZimWeb in another environment, then it is recommended that you attempt to reproduce the problem on one of the ZimWeb Reference Platform.

The ZimWeb Reference Platform consists of:

The Java environment is unmodified from the original Sun distribution.

2. Installing ZimWeb in other Servlet Container environments

Installing web applications into Servlet Containers is typically done using a Web Application Archive or WAR file. This is a JAR (Java Archive) image of the application root, file extension ".war" and with a name matching the application root directory name.

The file [ZIMWEB]/WAR/ZII.war is a Web Application Archive consisting of ZimWeb plus the web portion of the ZimWeb Example Application.

When installing it, you will need to adjust the ZimWeb configuration parameters config-file and log-file (in Tomcat these are found in the file [TOMCAT_ROOT]/webapps/ZII/web.xml) as appropriate.

3. Conflict with different XML parser and XSLT processors

ZimWeb requires JAXP 1.1 XML Parsing and XSLT Processing facilities. Tomcat itself, and other typical Servlet Containers, require XML Parsing facilities. ZimWeb includes recent versions of the Apache Xerces and Xalan APIs to provide these facilities in the directory [TOMCAT_ROOT]/webapps/ZII/WEB-INF/lib/jaxp.

However, if different versions of XML Parsing and XSLT Processing facilities are available at the same time then there can be conflicts between them, leading to the Servlet Container and/or ZimWeb malfunctioning.

There are several choices to make the required facilities available and function correctly, including:

4. Command Line Tools

The ZimWeb Reference Platform includes the following scripts in the directory [ZIMWEB]\bin which can be used from the command line or in automated processes:

5. The ZimWeb Tomcat installation was produced using this procedure:

  1. Start with Tomcat V4.1.18 LE.

  2. Added the role "zimwebadmin", and the user "zimwebadmin" with password "zimweb" within that role, to the Tomcat configuration file [TOMCAT_ROOT]/conf/tomcat-users.xml. The original file is saved as [TOMCAT_ROOT]/conf/tomcat-users-ORIGINAL.xml.

  3. Adjust the Tomcat configuration file [TOMCAT_ROOT]/conf/server.xml so that the ZimWeb application is logged separately from other applications into [TOMCAT_ROOT]/logs/localhost_ZimWeb_log.<date>.txt. The original file is saved as [TOMCAT_ROOT]/conf/server-ORIGINAL.xml.

  4. Added the ZimWeb application directory at [TOMCAT_ROOT]/webapps/ZII. This includes the web portion (index page, stylesheets and page templates) of the ZimWeb Example Application.

Here are some additional details about installing ZimWeb .

6. The ZimWeb package

ZimWeb is packaged as a WAR (Web Application Archive) file containing the following files:

Package

Contents

example/index.htm

Home page for the ZimWeb Example Application.

WEB-INF/example/template/*.htm

Page templates for the ZimWeb Example Application.

WEB-INF/example/xslt/*.xsl

XSLT style sheets for the ZimWeb Example Application.

WEB-INF/web.xml

Configuration for the ZII servlets.

WEB-INF/lib/avalon-framework-xxx.jar

Apache Avalon Framework (required by Apache FOP).

WEB-INF/lib/batik-xxx.jar

Apache Batik SVG processor (required by Apache FOP).

WEB-INF/lib/fop-xxx.jar

Apache FOP XSL-FO processor. 

WEB-INF/lib/jimi-xxx.jar 

Sun JIMI (required by Apache FOP).

WEB-INF/lib/jfor-xxx.jar

JFOR XSL-FO processor for RTF.

WEB-INF/lib/logkit-xxx.jar

Apache Logkit (required by Apache FOP).

WEB-INF/lib/zii.jar

ZimWeb itself.

WEB-INF/lib/jaxp/xalan-xxx.jar

Apache Xalan XSLT processor (in case this is not part of your Java or servlet engine environment).

WEB-INF/lib/jaxp/xercesImpl-xxx.jar

Apache Xerces XML parser (in case this is not part of your Java or servlet engine environment)..

WEB-INF/lib/jaxp/xml-apis-xxx.jar

XML APIs for XML parsing and XSLT processing from Apache Xalan (in case this is not part of your Java or servlet engine environment)..

 

The ZimWeb file zii.jar contains classes in the following Java packages:

 

File

Description

zim.CGIServer

The original ZimCGI, with a few modifications

zim.jdbc

Zim JDBC Driver

biz.zim.zii

The main ZimWeb classes

biz.zim.util

Utility classes for ZimWeb ./p>

 

There are two servlets in ZimWeb which you can invoke:

 

Servlet

Description

biz.zim.zii.ZIIServlet

The ZimWeb itself.
This is the servlet that you invoke to service a request to a Zim web application instead of the zimcgic.exe (or whatever) of the ZimCGI.
You will probably want to alias to something shorter. The ZimWeb sample configuration file web.xml for Tomcat shortens it to ZII, so if, say, you installed it with Tomcat's default parameters (servicing port number 8080), you would invoke it with a URL like http://<hostname>:8080/ZII/servlet/ZII.

biz.zim.zii.ZIIAdminServlet

The ZimWeb Administration servlet allows you to administer ZimWeb . including checking its configuration parameters, starting and stopping Zim Server agent connections, and checking and clearing the XSLT style sheet cache.
Read more about ZimWeb administration.

N.B. In a production environment, you want to secure access to this servlet - you can shut down your Zim web application with a single click!
To find out more information on this topic please read below or check out your Java Servlet Engine.

 

The ZimWeb jar file also contains the ZimCGI Server - equivalent to the zimcgis.jar file. You may wish to use the zii.jar for both purposes to avoid problems with multiple versions on your Java CLASSPATH.

7. Example: Installing the ZimWeb on Tomcat V4.1.x

Before installing ZimWeb . make sure you have a working Tomcat installation, consisting of, say, Java 1.4.x plus Tomcat V4.1.x LE. N.B. You choose a Tomcat LE version with Java 1.4.x because Java 1.4 includes XML processing facilities which would otherwise be duplicated in Tomcat.

One way of installing the ZII on Tomcat V4.1.x is as follows:

  1. Place the ZimWeb WAR package f ile ZII.war in the directory [TOMCAT_ROOT]/webapps.

  2. Remove any directory [TOMCAT_ROOT]/webapps/ZII if it already exists e.g. if you have installed a previous version of ZimWeb .

  3. Start Tomcat. This automatically unpacks the contents of the file ZII.war into the directory [TOMCAT_ROOT]/webapps/ZII. It most likely won't connect successfully to any Zim database because the ZimWeb configuration file requires adjustment.

  4. Stop Tomcat.

  5. Adjust the ZimWeb configuration file [TOMCAT_ROOT]/webapps/ZII/web.xml as appropriate. In particular, you should ensure that the config-file and log-file parameters are set correctly. Note also that it secures the ZimWeb Administration servlet so that it can only be accessed by users in the role ZimWeb .dmin - see the next step for how to add such a user.

  6. Adjust the Tomcat configuration file [TOMCAT_ROOT]/conf/tomcat-users.xml to add a user in the role ziiadmin that can administer ZimWeb e.g. to add a user ZimWeb .dmin with password ZimWeb you could do this by adding lines such as these into it:

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>

    ...

    <role rolename="zimwebadmin"/>

    ...

    <user username="zimwebadmin" password="zimweb" roles="zimwebadmin"/>

    ...

</tomcat-users>

  1. Adjust the Tomcat configuration file [TOMCAT_ROOT]/conf/server.xml so that the ZimWeb application is logged separately from other applications into [TOMCAT_ROOT]/logs/localhost_ZII_log.<date>.txt. You can do this by adding the following context:

...

      <Host ...>

        ...

        <!-- ZII Context -->

        <Context path="/ZII" docBase="ZII" debug="0"

                 reloadable="true" crossContext="true">

          <Logger className="org.apache.catalina.logger.FileLogger"

                     prefix="localhost_ZimWeb_log." suffix=".txt"

          timestamp="true"/>

        </Context>

        ...

      </Host>

...
 

  1. Important! You must ensure that ZimWeb .s enviroment includes XML parsing and XSLT facilities, and that there are no conflicts amongst the XML processing facilities which may be supplied with your Java and Tomcat environments and ZimWeb . For example:-

    • If you are running a Tomcat LE version using Java 1.4 or higher, then the Java environment already includes XML parsing and XSLT facilities, and no action is required.

    • If you are running Tomcat non-LE version using a Java version prior to 1.4, then you will have to copy the files supplied with ZimWeb in the WEB-INF/lib/jaxp directory (xalan-xxx.jar, xercesImpl-xxx.jar and xml-apis-xxx.jar) into the [TOMCAT_ROOT]/common/endorsed directory, replacing any versions of those files which came with you version of Tomcat.

  1. Restart Tomcat. It will automatically start the Zim database connections if it is configured to do so.

 

The above should get you started. You will probably want to configure Tomcat further - particularly by adjusting the file [TOMCAT_ROOT]/conf/server.xml - before installing into a production environment.

 

N.B. Make sure that you do not have the zimcgis.jar file from the ZimCGI in your Java CLASSPATH, otherwise they may interfere with one another.

 

Tomcat can be configured to run both standalone, or in conjunction with other web servers like Apache.

 

If after reading the above you which to install ZimWeb in another manner, or on another Java Servlet engine, and you run into difficulties we recommend you read and understand the documentation for your Java Servlet Engine.