Domino on Linux/Unix, Troubleshooting, Best Practices, Tips and more ...

Domino on Linux/Unix Start Script - New install location /opt/nashcom/startscript

Daniel Nashed  18 July 2019 09:43:16

 From the feedback I got in the recent survey most admins want the start script in it's own location under /opt/nashcom.
This change is needed to allow more flexibility and easier configuration. And in addition it is a preparation for Domino 11 where the /opt/ibm/domino standard install location will change.

So the new installation path for the start script will be /opt/nashcom/startscript.
All new configuration will point to this location by default. But the install routine will also preserve the existing standard location /opt/ibm/domino if present.
It replaces the old script with a symbolic link to the new script location for compatibility with earlier configuration files.

The configuration itself will remain in the existing location. Those are the standard location on Linux and there is no reason to change it.
But there will be additional files in the new directory over time. One is a sample configuration file for each new version of the start script for reference.

The install shell script will use the new location and can either overwrite your existing configuration (upd option) or just install the new code.
In case you decide to not update your existing configuration files, the old standard path will leverage the sym-link to the old start script location.

The main reason to switch to a new location is that some files like the systemd service "domino.service" file do not allow to use variables for configuration and need a fixed location for the scripts invoked.
So the following main files are used by the start script. Actually only the start script itself moved. But it needed changes in all those files. So let me got thru the components to explain.

/opt/nashcom/startscript/rc_domino_script
Main start script with all the logic. It is invoked by rc_domino or the systemd service.
It is referenced in multiple places and when changing the location, those files need to be changed as well!


/etc/sysconfig/rc_domino_config (required)
Standard configuration --> this configuration is replaced when you use the "upd"

/etc/sysconfig/rc_domino_config_notes (optional)
Server specific configuration which overwrites standard configuration values.
This configuration is never touched by the install routine. And you could have your specific configuration here.
You can use those files in any way that fit your environment needs.
I am personally using it in way that I have the standard configuration for all servers defined in the main configuration.
And have specific configuration here --> for example the shutdown commands for a Traveler server.

/etc/init.d/rc_domino
Main entry point for all operations with your Domino server.
Even systemd is used instead of init.d this location stays the same for compatibility reasons.
But there is a symbolic link /usr/bin/domino to ensure you can use the short cut "domino" to invoke all operations.

This script is still intended to be the main entry point for all operation.
It will figure out if you are the right user and switch if needed before invoking rc_domino_script.
And it contains logic for starting and stopping a server via systemd (systemctrl command).

You can run this script either for normal operations with the "notes" user or for start/stop operations via root user (or with sudo).

/etc/systemd/system/domino.service

Domino systemd service configuration --> this configuration is also replaced when you use the "upd"

It contains some basic configuration values (security limits, locale, ..) and references rc_domino_script for start/stop operations.
Here a full and fixed path is needed for rc_domino_script which was the main reason for a new start script location.


Updating the start script and your configuration

When you update your start script to the new version only the scripts are overwritten (rc_domino_script, rc_domino).
Only when specifying "upd" the configuration will be replaced by a current default configuration.
This will work in case you had standard locations for the Domino binary and Domino data directory.
Else you have to review and change the locations of the binary directory in your configuration afterwards.


New planned logic for locating the binary directory

The binary directory is still configured via LOTUS variable.

The plan is to change the logic for detecting the binary directory. Today you have to specify it manually.
And it would use /opt/ibm/domino if not defined. The current default configuration points to this location.

To keep installation easier and be prepared for a new standard location, the idea is to not have LOTUS configured by default but search in the new and old standard location for binary files.
So the plan is to search for /opt/hcl/domino/bin/server first before checking for /opt/ibm/domino/bin/server. The first binary directory found is used.

You can still specify your binary location and different binary locations would only need one configuration variable (LOTUS) to be changed.
Before you had to modify rc_domino, rc_domino_config and domino.service because the start script was inside the Domino binary directory.

How would you like this change? Does this make sense for a default logic?

Updating Your start script

If you are using a standard configuration the install script can handle the start script update for you.

a.) Either decide to replace your current start script configuration via "upd" option, review the new standard configuration and make your changes (rc_domino_config, domino.service).
b.) Or keep your legacy configuration and stay with the sym link to the old start script location. It will continue to work but you still have the old reference and no new default configuration settings.
You could run either way, but I would recommend replacing and reviewing your configuration. I am thinking about a back of the configuration files when updating.

Current Status

I just finished the new version and I am currently testing it on normal Domino environments and also the IBM Domino Docker Script.

The changes are already submitted to the develop Branch of the github repository for preview --> https://github.com/IBM/domino-docker/tree/develop
And you could get a copy of the start script from there in the latest version I am working on --> https://github.com/IBM/domino-docker/raw/develop/dockerfiles/domino/install_dir/start_script.tar

I am looking for feedback if those changes work for you. Either testing or just giving feedback to what I just wrote here.
Either comment or feel free to send me an email for feedback.

Archives


  • [IBM Lotus Domino]
  • [Domino on Linux]
  • [Nash!Com]
  • [Daniel Nashed]