Friday, 27 July 2012

Following the script - installing IBM Lotus Domino using a response file ( silent installation )

This follows on from the series of posts that I started last month, which include:-

Following the script - installing IBM HTTP Server using a response file ( silent installation )

Following the script - installing and using IBM WebSphere Update Installer using a response file ( silent installation )

Following the script - installing IBM Tivoli Directory Integrator using a response file ( silent installation )

Following the script - installing IBM DB2 UDB using a response file ( silent installation )

More on automation - this time it's the DB2 UDB 9.7.0.2 fixpack ....

I wanted  to include IBM Lotus Domino, as I needed an LDAP server for my IBM Connections 3.0.1 installation.

So here goes ...

Firstly, I'm using Domino 8.5.3 Fixpack 1, which I downloaded as: -

lotus_domino853_xlinux_en.tar
lotus_domser853FP1_LIN_Intel.tar

*UPDATE* I've also since used Fixpack 2 as well: -

lotus_domino853FP2_linux_x86.tar
As before, I am using Red Hat Enterprise Linux 6.2 for the installation, which I performed as root.

Before installing Domino, it's necessary to set two of the ulimits: -

open files                      (-n)
stack size              (kbytes, -s)


This is done via a change to the file /etc/security/limits.conf to which I add: -

* hard nofile 20000
* soft nofile 20000


to the end of the file.

These are the recommended values for Domino 8.

Right, onto the installation itself ...

First, I expanded the Domino code into my /tmp directory: -

$ cd /tmp
$ tar xvf /root/lotus_domino853_xlinux_en.tar

I then created a response file: -

$ vi ~/unix_response.dat

-G licenseAccepted=true
-W InstallDataOnlyOptionPanel.InstallDataOnly=false
-P installLocation="/opt/ibm/lotus"
-W normalData.installLocationData="/local/notesdata"
-W NameUserGroupPanel.UserName="notes"
-W NameUserGroupPanel.GroupName="notes"
-W SetupTypePanel.selectedSetupTypeId=EnterpriseServer
-W ServerSetupPanel.ServerSetupType="Manual"
-P LicenseFeature.active=true
-P ProgramFilesFeature.active=true
-P BillingSupportFeature.active=true
-P ClusteringSupportFeature.active=true
-P bean2236.active=true
-P DataFilesFeature.active=true
-P beanRequiredTemplates.active=true
-P beanAdministrationTemplates.active=true
-P beanOptionalTemplates.active=true
-P beanCertificateManagement.active=true
-P beanWebServicesDataFiles.active=true
-P beanReadme.active=true
-P beanDojo.active=true
-P beanDojo2.active=true
-P beanXSPages.active=true
-P DECSFeature.active=true
-P DOLSFeature.active=true
-P DWAFeature.active=true
-P SametimeIntegrationFeature.active=true
-P RMEFeature.active=true
-P HelpFeature.active=true
-P OSIntegFeature.active=true

I then created the required Domino user and group: -

groupadd notes
useradd -g notes notes
passwd notes

I then started the installation: 

$ cd /tmp/domino/linux/domino
$ ./install -options ~/unix_response.dat -silent

This initially failed with: -

Lotus Domino for Unix Install Program
------------------------------------

The following OS patches or higher are missing. Please update all patches before starting the Domino Server.
    libXmu-1.0.5-1.el6.i686
    libXp-1.0.0-15.1.el6.i686


which I overcame by installing the required libraries: -

$ yum install -y libXmu-1.0.5-1.el6.i686
$ yum install -y libXp-1.0.0-15.1.el6.i686

Second time around, the installation completed OK.

Once the installation had finished, I attempted to start the Domino server ( X11 was already running ): -

$ su notes
$ cd /local/notesdata
$ /opt/ibm/lotus/bin/server

Sadly this failed with: -

WARNING: the maximum number of file handles (ulimit -n)
           allowed for Domino is 1024.
         See Lotus Tech Note 1221870 and set the allowable maximum to 20000.
./java -ss512k -Xoss5M -cp jhall.jar:cfgdomserver.jar:./ndext/ibmdirectoryservices.jar lotus.domino.setup.WizardManagerDomino -data /local/notesdata
Please edit your shell's DISPLAY environment variable to reflect an unlocked terminal that you would like to launch the Domino Setup Program on.
*Warning all runtime debug info will be logged to /local/notesdata/setuplog.txt
Now I have seen this problem before, and immediately looked at the following IBM Technotes: -

Setting up a Domino server on a UNIX-based system

Error: "Please edit your shell's DISPLAY environment variable..." when launching Domino remote server setup

including running the command ( as root ): -
$ xhost +

but nothing was helped.

I then found this Technote: -

Red Hat 6 Linux OS: Domino will not install

which said, in part, that I was missing a bunch of required libraries: -

Domino requires the following packages to be installed. They can be located on the RHEL6 distribution disks or installed via RPM.

glibc-2.12-1.7.el6.i686
libgcc-4.4.4-13.el6.i686
libstdc++-4.4.4-13.el6.i686

The packages listed above are sufficient to install Domino in silent and console modes.

To run GUI Domino installer, you will need additional xWindows packages:

libXtst-1.0.99.2-3.el6.i686

libXmu-1.0.5-1.el6.i686
libXp-1.0.0-15.1.el6.i686

To run GUI setup you will need two more packages:


libXft-2.1.13-4.1.el6.i686.rpm
libXi-1.3-3.el6.i686.rpm


In the end, this is what I ended up installing: -

$ yum install -y libXtst-1.0.99.2-3.el6.i686
$ yum install -y libXmu-1.0.5-1.el6.i686
$ yum install -y libXp-1.0.0-15.1.el6.i686
$ yum install -y libXft-2.1.13-4.1.el6.i686
$ yum install -y --skip-broken libXft-2.1.13-4.1.el6.i686
$ yum install -y libXi-1.3-3.el6.i686

Note that libXft didn't go on - this became a real PITA.

The solution, as with many other things, was to hook up my RHEL VM to my company's network, from where I can connect to a Red Hat Enterprise Network mirror, and run: -

$ yum update

as root.

Once I updated my system to the latest and greatest RHEL 6.2, I was able to successfully install libXft and then start my Domino server.

The moral of the story ?

Ensure that your RHEL boxen is up-to-date before you start installing Domino.

Other than that, all is good.

Finally, I then updated Domino to 8.5.3 FP2 as follows: -

$ cd /tmp
$ rm -Rf linux             ( to clear down the original Domino installation code )
$ tar xvf /mnt/hgfs/Software/LD853/lotus_domino853FP2_linux_x86.tar
$ cd linux/domino
$ ./install -script script.dat

This uses the supplied response file to update Domino to 8.5.3 FP2.

Job done :-)

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...