HTML5, CSS3, jQuery, JSON, Responsive Design...

Running Domino as a service on Linux (and why IBM documentation sucks!)

Michael Brown   April 23 2009 01:06:02 AM
Part 10 of Setting up a home test environment for Notes/Domino 8.5

Domino As A Service

When you install Domino under Windows, the option to start Domino as a Service is right there in the install routine.  It's just a tickbox that you have to check.  This means that if you restart the Windows server, Domino will close down (gracefully) when Windows closes down and then start up when Windows start up.  No user has to log into the server OS.  There is no user intervention at all.  This is, of course, just what you want in a production environment.

I've been trying to get this to happen for Domino on a Linux server too, but sadly, IBM does not supply any way of easily making this happen for a Linux server.  There's no "run as a service" script included and the documentation in the Domino Admin Help database gives no information on this subject either.

Technote 1173499

I searched IBM online support and found the IBM Technote How to automatically start Domino when starting the Linux OS.  This technote contains a Linux shell script that are supposed to be able to use to run Domino as a service on Linux, but the script is full of errors.

The instructions say to "Copy the script below to a file named ..." to a script file called "Domino" on your Linux box.  I don't think so.  Not when the first comments look like this:
# DOM_HOME is the variable that tells the script where the Domino Data 
resides
There's a hard return after the word "Data", which causes the word to "resides" to appear on a new line, where it is no longer commented.  The script interpreter tries to run "resides" as part of the script and, funnily enough, it errors out.  That's only sloppy work; there's worse to follow.   The script continues thus:
# DOM_HOME is the variable that tells the script where the Domino Data 
resides
DOM_HOME=/home/notesdata
....
#DOM_PROG is the location of the Domino executables
DOM_PROG=/opt/lotus/bin
The Domino executables are in /opt/lotus/bin are they?  Maybe once upon a time they were, but they are not there in Domino 8.  I don't think they were there in Domino 7 either.  The correct location now is /opt/ibm/lotus/bin.  Likewise, the server's data folder is now /local/notesdata and not /home/notesdata.  (I don't understand how /home/notesdata could ever have been correct  Wouldn't that imply a user called "notesdata", with this folder being that user's home folder?)

Note that the Software Version information for this technote says "6.0, 6.5, 7.0, 8.0" and the Modified Date reads 2008-04-10.  Whoever so validated this technote simply didn't do their job that day.
Update 24/04/2009: I initially forgot to mention that I did actually point out this error to IBM via the text submission box on the technote itself.  I did this about week before posting on the subject here.  Liam Harpur of IBM has also followed up the matter with the technote's owner (see comments below).

After correcting the paths, the script still refused to start Domino for me.


IBM Redbook - Lotus Domino 6 for Linux

At least this Redbook doesn't pretend to be relevant for any version of Domino higher than 6.  But where is the version for Domino 8 or even for Domino 7 for that matter?

There's a script on page 130/131, but it looked pretty much the same as the one in the technote.  However, Appendix B pointed me to the an FTP site containing more up-to-date versions of the scripts.  This was more encouraging.  The "Domino" script here at least had the Data folder set to /local/notesdata.  (The executables folder is still incorrect, but the script is for Domino 6, remember.)  There's also an extra script in the FTP folder called "startserver", which is intended to be run manually rather than as a script.

I played with both of these scripts.  But after correcting the paths and commenting out the "PRELOAD lines" as the comments instructed, I could not get either of them to start Domino for me.  I also issued the command chkconfig --add domino to register the script with the Linux startup process, as the Rebook instructed, but to no avail.


Daniel Nashed To the Rescue

Finally, a script that worked for me.  And yes, it's from a third party.  Many thanks to you, Daniel.

You'll need to email him to get the script by filling out the form on his web page.  It's all automated though; you don't have to explain why you want it or ask his permission or anything.  Just give him a name and and email address and the script will appear in your inbox immediately.

Just follow the instructions on his site for where to put the scripts.  (There's also a readme file included with the email that you receive).  Do the chkconfig --add domino command to register the server and then you should be set.

I've not been through Daniel's script in any detail yet, but from what I've seen, it's extremely thorough.  For example, it tests for different server platforms - e.g. Suse vs Red Hat - and makes allowances accordingly.  His documentation also takes into account these different platforms; for example, he points out that the chkconfig command is how you register a service on Red Hat-based distributions (CentOS, Fedora etc.) and that other types of distribution have different commands for this doing this.

IBM, why haven't you hired this guy yet?!!!  At least, buy his script off him and include it with the Domino Linux installer.

Comments

1Sean Cull  04/23/2009 3:15:41 AM  Running Domino as a service on Linux (and why IBM documentation sucks!)

Daniels script is great, loads of people use it.

Daniel truly is one of the industry experts and is very generous with his advice. He blogs and his lotusscript presentation is well worth a look

{ Link }

{ Link }

2Liam Harpur  04/23/2009 4:17:27 PM  Running Domino as a service on Linux (and why IBM documentation sucks!)

Thanks Michael - I informed the Technote owner.... so I hope for an updated technote.

Liam.

3Michael Brown  04/23/2009 7:23:16 PM  Running Domino as a service on Linux (and why IBM documentation sucks!)

Liam,

Actually, I also reported it to IBM via the box on the bottom of the technote itself. Sorry, I should have mentioned that fact in my post. I'll update it asap.

Cheers,

- Mike

4Michael Brown  04/23/2009 8:53:34 PM  Running Domino as a service on Linux (and why IBM documentation sucks!)

Post now updated to say that I reported the technote error to IBM at the time.

About