Installation Notes for Together Application Cluster Netscape/IPlanet Web Servers

Installation Notes for Together Application Cluster Netscape/IPlanet Web Servers

Together Teamlösungen EDV-Dienstleistungen GmbH

Elmargasse 2-4
A-1190 Vienna
Austria
Phone: +43 (0) 5 04 04 - 122
Fax: +43 (0) 5 04 04 - 11 122
E-Mail: 
Web: http://www.together.at/together/index.html

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior written permission of the Together Teamlösungen EDV-Dienstleistungen GmbH.

Together Teamlösungen EDV-Dienstleistungen GmbH DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Table of Contents

1. Introduction
2. System Requirements
3. Planning
4. System Preparation
5. Together Application Cluster Files
6. Installing Together Application Cluster
7. Configuring Your Application
8. Configuring Together Application Cluster
9. Troubleshooting

Chapter 1. Introduction

This document describes the steps required to install Together Application Cluster on the IPlanet (Netscape) 4.x web server. Installation of this module follows the same general procedure as with any other NSAPI extension to a Netscape Web server, so the Netscape online documentation at http://www.iplanet.com may be useful as well.

Chapter 2. System Requirements

Hardware Requirements

CPU

Intel 80386 or later CPU, or compatible for the Windows NT server.(Pentium 200Mhz or faster recommended)

RAM

64 MB RAM / 128+ MB Recommended

OTHER

Network Interface (Etnernet, Token Ring, etc.)

Note: If building from source, this module should compile and run on most Unix systems on which the Netscape servers are supported.

Software Requirements

Microsoft Windows NT 4.0, Service Pack 6 or later.

IPlanet/Netscape Web Server version 4.0 or higher for Win NT Web Browser (netscape/mozilla/IE/etc.)

*Or*

Linux Distribution based on the 2.2 kernel or later with support for recent versions of the 'glibc' C library. (Redhat 6.1 or later recommended)

IPlanet/Netscape Web Server version 4.0 or higher for Linux

Chapter 3. Planning

Before installing Together Application Cluster it will be helpful for you to obtain the following information about your planned site:

  • The list of machines on which you will be running Enhydra MultiServer instances.

  • The list of applications you intend to run on the Enhydra MultiServers.

  • For each application:

    • The name of the machine and the port number on which each instance of the application will run. The port number is the 'port' used when configuring a connection of type 'EnhydraDirector' using the MultiServer Admin application.

    • The URL prefix to be used to identify the application. (For example '/demoApp')

    • Whether the application requires 'session affinity'. That is, whether requests for the same session to an application should always be routed to the application server instance that created the session. Unless your application supports distribution of its sessions among other instances, you should assume that session affinity is needed. (However, if your application does not use session information at all, you do NOT need session affinity)

  • The name of the IPlanet web server instance on which you wish to configure Together Application Cluster.

  • The port number of the IPlanet web server instance on which you intend to configure Together Application Cluster. By default, this is port 80 (http).

  • The location of the 'obj.conf' file for your web server instances.On Windows NT, this is typically:

    C:\Netscape\Server4\<instance>\config\obj.conf

    On Unix this is often

    /usr/netscape/server4/<instance>/config/obj.conf

  • Decide where to install the TAC files.

    On Windows NT, we recommend:

    C:\Netscape\TAC

    On Unix, we recommend:

    /usr/netscape/TAC

Chapter 4. System Preparation

Windows NT Installation:

  • Install Windows NT 4.0 and Service Pack 6 according to the Microsoft documentation and your organization's requirements. Together Application Cluster Requires:

    TCP/IP Networking Support

Windows NT Configuration:

  • If you have not already done so, configure TCP/IP networking on at least one of the network interfaces on your system.

Linux Installation:

  • Install your system software according to your own preferences. TAC requires that TCP/IP networking be available.

Linux Configuration:

  • Make sure TCP/IP networking is configured and available on at least one network interface.

Chapter 5. Together Application Cluster Files

NSAPI Extension: libedir.so (Unix versions)

*Or*

NSAPI Extension: EnhydraDirector.dll (Windows NT version)

This is an NSAPI extension DLL that does the actual work of forwarding an Enhydra request to the correct Enhydra application server. It must be installed on each IPlanet web server instance that will serve your application's URL prefix. For example, if you have set up IPlanet to enable the web server 'www.myhost.com', and you want your application to be located at 'http://www.myhost.com/myApp', then you must enable the EnhydraDirector.dll extension in the 'obj.conf' configuration for the the www.myhost.com Web server instance. See below for details on configuring this module.

Together Application Cluster Configuration File: enhydra_director.conf This file contains the configuration for Together Application Cluster. One of the required settings in 'obj.conf' is the location of this file.

Chapter 6. Installing Together Application Cluster

Installing Together Application Cluster (Unix)

These instructions assume that you will install the TAC files into '/usr/netscape/TAC'. If you wish to install the files in some other location, replace '/usr/netscape/TAC' with your own installation directory in all of the following steps.

Step 1: Obtain and build the Together Application Cluster files.

Download the NSAPI Together Application Cluster 'tar.gz' source code archive and build the extension shared object '.so' file. The build uses a GNU 'automake' environment, so you begin building by running the 'configure' script. Type 'configure --help' to get a list of supported options. If you have installed Netscape Server in a non-standard directory you will need to use the '--with-netscape-plugins-dir' option to specify where the include 'plugins' directory is for your server. Also, the '--enable-debugging' option may be used to add full verbose debugging macros to the build. When you are finished building, you should have the following files:

./.libs/libedir.so ./enhydra_director.conf.default

Step 2: Install the Together Application Cluster files.

Assuming you have chosen the recommend directory '/opt/netscape/TAC', install the files you built above as:

/opt/netscape/TAC/libedir.so /opt/netscape/TAC/enhydra_director.conf.default

Installing Together Application Cluster (Windows NT)

These instructions assume that you will install the TAC files into 'C:\Netscape\TAC'. If you wish to install the files in some other location, replace 'C:\Netscape\TAC' with your own installation directory in all of the following steps.

Step 1: Obtain and build the Together Application Cluster files.

*OR* Download precompiled binaries. Download the NSAPI Together Application Cluster 'zip' source code archive and build the extension shared object '.so' file. If you don't have Microsoft Visual C++ 6.0 or later, you should obtain the precompiled NSAPI extension DLL from your Enhydra distribution or from the Enhydra.org web site.

To build the Windows NT version of the NSAPI module, start Visual Studio, and open the Together Application Cluster NSAPI workspace: <EnhydraSrc>/modules/EnhydraDirector/src/nsapi/EnhydraDirector.dsw Set 'EnhydraDirector' as the active project, then set the active configuration to 'Debug' or 'Release' according to your needs. If you installed Netscape server in a non-default location, you also need to edit the build settings (C Preprocessor) to set the correct 'include' directories for the netscape header files. At this point, just do a 'Build All' and rebuild the DLL. In the same directory as the workspace, there is a copy of 'enhydra_director.conf.default'. The newly built DLL will be found in the 'Debug' or 'Release' subdirectory, according to the usualVisual Studio convention.

Step 2: Install the Together Application Cluster files. (Win NT)

Regardless of how you obtain the final DLL and files, install: C:\TAC\EnhydraDirector.dll C:\TAC\enhydra_director.conf.default

Chapter 7. Configuring Your Application

This document assumes that you have already successfully built your application and installed your Enhydra multiserver and the application. It also assumes that you are using the MultiServer Admin application to add the connections for the application.

Step 1: Create Together Application Cluster connections for your application.

  • Bring up the MultiServer Administration page for your Enhydra server instance.

  • Select your application in the application list.

  • Click on the 'Connections' tab to manage connections for your application instance.

  • Within the 'Connections' tab, click 'Create'. A 'new connection' dialog box will appear.

  • In the dialog box, check 'EnhydraDirector' as the connection type.

  • Fill in the URL prefix and port. Also, if session affinity is NOT to be enabled, change the session affinity box from 'true' to 'false'.

  • Click 'OK' to accept the new connection.

  • In the main MultiServer admin page, click the 'Save State' floppy-disk icon to save your changes to the MultiServer configuration file. Click 'OK' to accept the rewrite of the configuration file.

Chapter 8. Configuring Together Application Cluster

Step 1: Stop the Netscape Web Server

  • Run the 'stop' script in the '/usr/netscape/server4/<instance>' or in 'C:\Netscape\Server4\<instance>'.

Step 2: Install the NSAPI extension. (Repeat as needed for multiple web sites).

  • Edit obj.conf and go the the lines where the '<Init...>' sections are located. This should be near the beginning of the file.

    • For Unix, add the following 'init' lines:

      Init fn="load-modules"
      					funcs="edir_init,edir_nsapi_handler,edir_nsapi_name_trans"
      					shlib="/usr/netscape/TAC/libedir.so"
      					   Init fn="edir_init"
      					conffile="/usr/netscape/server4/<Instance>/config/enhydra_director.conf"
      					  For Windows NT, add the following 'init' lines:
      					    Init fn="load-modules"
      					funcs="edir_init,edir_nsapi_handler,edir_nsapi_name_trans"
      					shlib="C:\Netscape\TAC\EnhydraDirector.dll"
      					    Init fn="edir_init"
      					conffile="C:\Netscape\Server4\<Instance>\config\enhydra_director.conf" 

NOTE: The above entries must consist of only two actual lines in the 'obj.conf' file. They are split to fit in the available horizontal space.

NOTE: If your Netscape server is not installed in /usr/netscape, or you did not install the 'libedir.so' DLL in the recommended location, then edit the above lines accordingly.

NOTE: Replace <Instance> with the web server instance for which you are configuring.

Now, in the '<Object name=default>' section, add the line: NameTrans fn=edir_nsapi_name_trans The above line must go immediately before: NameTrans fn=document-root root=.....

Finally, just after the closing </Object> for <Object name=default>, add the section:

<Object name=enhydra_director>
			Service fn="edir_nsapi_handler" method=(GET|HEAD|POST)
			</Object>

Step 3: Create the configuration file.

The Together Application Cluster configuration file for NSAPI is the file indicated by the "conffile=..." directive in the 'Init' lines described above. There can be multiple instances of Together Application Cluster on a machine, with one instance per configured Web server instance. Each Together Application Cluster instance should be assigned a different configuration file.

The full description of the syntax and all of the directives available in the configuration file is beyond the scope of this document. However, the file 'enhydra_director.conf.default' contains several useful examples that can be easily copied to match your site setup. The comments within the default file also describe most of the available options. An important thing to note is that the configuration file is based on an XML DTD (EnhydraDirectorConfig.dtd) and is strictly validated. This means the the file MUST contain valid XML, and it MUST follow the format defined in the DTD. Case is important in all section and property names, and order is important among different sections.

Step 4: Start the Netscape server.

  • Run the 'start' script in the '/usr/netscape/server4/<instance>' or in 'C:\Netscape\Server4\<instance>'.

Step 5: Verify correct startup.

  • Make sure the Netscape server started correctly and is running.

  • Check the Netscape server error log for errors that might have occured while loading the Together Application Cluster DLL. Also check for Together Application Cluster errors.

Step 6: Verify connectivity

  • Start up a web browser.

  • If you have configured a <Status> section in the configuration, you can connect to its URL prefix to ensure that the handler is functioning. See the default configuration file for more information on the <Status> section.

  • Connect to one of your configured application prefixes.

  • If serious errors occur, they are logged to the server error log.

Chapter 9. Troubleshooting

Problem: The NSAPI extension failes to load when Netscape server is started.

  • Check that the 'obj.conf' configuration has the right path for the '.so' or '.DLL' file. This would be the 'Init ... shlib=...' directive.

  • Check the Netscape server error log for errors.

  • Ensure that the enhydra_director.conf file exists and contains valid and syntactically correct configuration data. If the syntax is not valid, Together Application Cluster will report the specific errors and line numbers to the Netscape server error log.

Problem: Together Application Cluster starts up OK but I can't connect to my application.

  • If you configured the <Status> section, check the status prefix for connection failures to your back-end Enhydra servers.

  • Make sure that the prefixes configured in enhydra_director.conf match the prefixes configured for your application on the Enhydra server. The prefixes MUST match EXACTLY, including case! Trailing slashes in the prefix are not significant and are ignored.

  • Make sure that the application servers and ports in the enhydra_director.conf file refer to valid and running instances of your application.

  • Make sure your application is running on the Enhydra server.

  • You application must use the 'EnhydraDirector' connection method on ports that the NSAPI Together Application Cluster extension will dispatch requests to.

  • It is highly recommended to configure the '<Status>' section in the configuration file so you can examine the runtime state and configuration of the handler.

Problem: The Netscape server crashes, hangs, or dies unexpectedly.

  • Hopefully you will never see this. :)

  • This is evidence of an error in the handler or filter DLL that needs the attention of Lutris engineers.

  • There's also the possibility that there is a bug elsewhere in Netscape.

  • Please report any bugs of this nature to the Enhydra.org folks, at www.enhydra.org. The more details you can provide about what led to the failure, the better. Also, machine state information and configuration information is helpful.

  • If you have a way to reproduce the bug consistently, PLEASE include the necessary steps to do so if it is at all possible. This is VERY helpful when trying to resolve software problems.