Tuesday, August 23, 2011

Installation of Lotus Notes Client on Linux Machine

Instant has recently been working to support Instant Queue Manager running under a Linux environment. 

A FAQ has been created to show the directory structure for Queue Manager in Linux.

In order to support native logging to a Lotus Notes database (itqlogs.nsf), a Lotus Notes client will also need to be installed on the Linux machine.

IBM Technote on the versions of Linux supported and the Linux requirements:
https://www-304.ibm.com/support/docview.wss?rs=475&uid=swg21242594

The following IBM link provides information on installing the Lotus Notes 7.0.x client on Linux:
https://www-304.ibm.com/support/docview.wss?rs=475&uid=swg21242686

Wednesday, August 3, 2011

File System/Path Breakdown for Instant Queue Manager 4 on SUSE Enterprise Linux

Below is a breakdown of the file system, package requirements, and path requirements for running Instant Queue Manager V4 in a Linux environment. These examples use SUSE Linux Enterprise Server 11 SP1.

Java:
  • /usr/bin/java - executable
  • /usr/local/java - data path - 41M
  • JRE 1.6.0

Tomcat:
  • /usr/share/tomcat6/ - 55M
  • tomcat6-6.0.18-20.23.1
  • tomcat6-servlet-2_5-api-6.0.18-20.23.1
  • tomcat6-jsp-2_1-api-6.0.18-20.23.1
  • tomcat6-lib-6.0.18-20.23.1

Lotus Notes:
  • /opt/ibm/lotus/notes/notes - 630M
  • Version 8.5.2

IQMV4 Engine:
  • /usr/share/tomcat6/webapps/ITFramework
  • 51M – total folder size

Path (additions):
  • /opt/ibm/lotus/notes
  • /opt/ibm/lotus/notes/jvm/lib/ext
  • /usr/lib/jvm/jre/bin

Configuring Linux for the Notes API

Recently, while installing/running some test Java applications, we came across the following error:
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: lsxbe (Not found in java.library.path)
This was on a box running SUSE Linux Enterprise Server 11 SP1, with Lotus Notes installed as well as the Java 1.6 Runtime Environment.

Running 'echo $PATH' showed that while the Java Runtime Environment was in our system/environment path, none of the Notes directories were. To do this we needed to add to the default path that SUSE provides each user. This is controlled in a few places, but, the safest place to make adjustments is inside the .bash_profile file (located in the users home folder, create this file if it doesn't already exist).

Here's how it looked after we created and added to it:
PATH=$PATH:/opt/ibm/lotus/notes
PATH=$PATH:/opt/ibm/lotus/notes/jvm/lib/ext
export PATH
After restarting our shell and running 'echo $PATH' we can see the new additions to our users path. Running the application gave us the same error as above, so we hadn't fixed it yet. After investigating more into Lotus Notes, we found some more things that needed to be added to our path.

Here's .bash_profile with our new changes:
PATH=$PATH:/opt/ibm/lotus/notes
PATH=$PATH:/opt/ibm/lotus/notes/jvm/lib/ext
PATH=$PATH:$NOTES_HOME
export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ibm/lotus/notes
export LD_LIBRARY_PATH

After restarting our shell, the test application ran fine, and the exception above was gone. This was all done as the root user, to push this file to other users profiles, use this command from your home folder:
cp ~/.bash_profile /home/{username of the user}
Just replace after /home/ with the user name of the user to push the changes to.