PermaLink Linux Domino on the Bleeding Edge (64-bit Debian Sid/Unstable)05/23/2006 12:41 AM
I decided a few months ago to move my existing Win2K Lotus Domino server to Linux, but wanted to use the full capabilities of the shiny new 64-bit AMD Opteron it will run on. What made it more challenging was I decided to put it into a SFF PC using the latest and greatest nVidia chipset (the C51), which of course, took a while to get Linux support.  The boards themselves arrived in Sept 2005, but Linux kernels with support for them weren't available until roughly the end of December.  It didn't help that the motherboard makers took forever to get their BIOSes debugged, including ACPI support (MSI didn't have a fixed ACPI until late January and Asus didn't until early April).

What this also meant was I had to use a distribution w/ the latest kernel support, so I thought it'd make a more interesting experience if I ran 64-bit Debian (I tried various LiveCDs until I found one that worked: Kanotix).  It's been a fairly stable environment, with the only issue in the past few months being occasional hiccups with Debian Sid moving 32-bit libraries around (Domino is a 32-bit app).  You learn the most when things go wrong, after all

For Domino, I had to install the ia32-libs-dev, then reinstall ia32-libs or it would complain about a missing libstdc++-libc6.2-2.so.3 (this has been added to the latest ia32-libs, so it's no longer necessary to do this).  I also had to add /emul/ia32-linux/usr/X11R6/lib into /etc/ld.so.conf or when the http task starts up, it complains about missing libXmu.so.6 (apparently the 32-bit JVM links to various X libraries because it still has AWT support even though it's run inside a server).

Installation of Domino was fairly simple, but you can't do "/opt/lotus/bin/http httpsetup".  This runs a 32-bit X-windows application for the setup UI and you won't have the 32-bit libraries on a 64-bit Linux system.  Instead, run "/opt/lotus/bin/server -listen" and do the configuration from a Windows desktop using Notes remote server setup (you do have to open the firewall for the ports it uses).

Follow Daniel's guide on securing Domino on Linux:
- chown -R -h notes:notes /opt/lotus
- chown -R -h
notes:notes /local/notesdata
- chmod -R 550 /opt/lotus
- chmod -R 700 /local/notesdata
- chown root:notes /opt/lotus/notes/latest/linux/bindsock
- chmod 4550 /opt/lotus/notes/latest/linux/bindsock

Append the following line to /etc/ld.so.conf
/opt/lotus/notes/latest/linux
and do an ldconfig to reload the shared library list.
You can use the startup script to start/stop/monitor domino.

My .profile file for the notes user ended up looking like this:
export LOTUS=/opt/lotus
export NOTES_DATA_DIR=/home/notesdata
export Notes_ExecDirectory=$LOTUS/notes/latest/linux
export PATH=/opt/lotus/notes/latest/linux/jvm/bin:$NOTES_DATA_DIR:$Notes_ExecDirectory:$Notes_ExecDirectory/res/C:$PATH
export JAVA_HOME="/opt/lotus/notes/latest/linux/jvm"
export CLASSPATH=.:/opt/lotus/notes/latest/linux/jvm
export DateOrde=MDY
export ClockType=24_HOUR
export DateSeparator=/
export TimeSeparator=:
export Notes_SHARED_DPOOLSIZE=20971520


Quirks I've found:
  • The servlet home directory is in /local/notesdata in Linux; in Windows, the servlet home directory is in c:\notes (where notes.exe is).
  • The domcfg.nsf database (and the other Notes standard databases) must be all lowercase.  I had named mine DomCfg.nsf and it wouldn't recognize it.  
  • Domino on Linux also won't recognize directories/DBs in the web browser URLs if you get the case wrong, so it's really just best to name all the directories and databases in lowercase (note that this doesn't prevent users from typing in the wrong URLs...Lotus really needs to fix this bug)-:
  • The events4.nsf database complains about duplicate documents.

Comments :v

1. Ken Yee02/09/2007 22:52:13
Homepage: http://www.keysolutions.com/blogs/kenyee.nsf


I had no permission denied errors until I tried running my GreyBeard java server-addin which binds to port 25.
I don't think those variables are read from the notes.ini by the Domino server...




2. Martijn de Jong02/09/2007 14:14:13


2 things:
- Did you also have the problem with permission denied on a couple of files Domino wanted to change when you start Domino in a terminal window. It was caused by insufficient rights for tunekrnl in the /opt/ibm/lotus/bin dir and it stopped complaing when I chowned that one to root, but I wonder if that's the right approach.
- Why not put DateOrder etc variables in your notes.ini. That's the place they ought to be, isn't it?




Start Pages
RSS News Feed RSS Comments Feed CoComment Integrated
The BlogRoll
Calendar
April 2024
Su
Mo
Tu
We
Th
Fr
Sa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Search
Contact Me
About Ken
Full-stack developer (consultant) working with .Net, Java, Android, Javascript (jQuery, Meteor.js, AngularJS), Lotus Domino