HCL Domino 11 on CentOS 7.6 / CentOS 7.7 Step-by-Step Swing Upgrade / Installation

Mindwatering Incorporated

Author: Tripp W Black

Created: 12/30/2019 at 08:01 PM


Domino Upgrades / Installations
Software Upgrade

CentOS 7.7 and HCL Domino 11 Server Step-by-Step Installation/Upgrade (Swing Upgrade)

Important Notes:
- We started this upgrade from a CentOS 7.6 VM that was patched to 7.7.
- We did not need to install any additional libraries. This Domino server was "swung" from CentOS 6.7 to CentOS 7.6 with its Domino 10.0 upgrade. We used the Domino R9 and R10 prerequisites.
- We performed the Domino installation in console mode.
- After our test upgrade, we noticed that the JVM folder didn't appear to be completely replaced. So for our production upgrade, we changed the Domino jvm folder to oldjvm before performing the upgrade. (Domino 11 uses OpenJVM instead the IBM Java. There are some differences. I would definitely test any Java agents that make use of IBM specific Java libraries before upgrading to R11. )
- If you notice any errors, just us know using the Contact link at the top menu of the site. was ready for Domino install, we had all the normal system prerequisites already performed.

CentOS installation and OS prerequisite steps are included in this document if doing a "swing" upgrade type installation.


IBM/HCL Domino 10.0.1 Upgrade
to HCL Domino 11.0:


Domino 11 Installation:
Copy the installation file to the Domino server:
- Domino_11.0_Linux_English.tar

2. Started SSH Terminal to server.
$ ssh myadmin@myserver.mindwatering.com
<enter password>

3. Upgrade the Domino installation.
Stop the server:
$ systemctl stop domino.service

Extract and run the install:
$ cd /home/myadmin/tmp/dom11/
$ tar -xvf Domino_11.0_Linux_English.tar
<watched files extracted>
$ cd linux64
$ sudo ./install
<go through the prompts>
- <Enter> to continue
- "0" to skip to end of HCL Master License Agreement
- "Y" to agree
- <Enter> to continue
- <Enter> for NO (Data Directories Only Partitioned Domino Server
- <Enter> to continue
- <Enter> for default: /opt/hcl/domino
- <Enter> to continue
- <Enter> to NO (partitioned server)
- <Enter> to continue
- <Enter> for nothing/null (Data Files Directory Name)
- User Name: notes
- Group Name: notes
- <Enter> to continue
- <Enter> for default: Manual
- <Enter> for default: Domino Enterprise Server
- <Enter> to continue
- <Enter> to continue after reviewing all questions answered
< wait for the install >
- <Enter> to exit the installer

- The steps/questions are the same. But the navigation is a bit different as the new installation program is InstallAnywhere. So you click <enter> instead of <tab> to accept a setting, and you have to use "0" to get to the end of the license fine print page.
- Since my server has been upgraded over the years, the executable path still shows an IBM based one. Update if yours if different. We also use /local/notesdata for our data path. Also, our Domino server user id is notes.
- If this server is the "main" Domino server that manages the Domino Directory, you must start the server manually to answer "Yes". Major releases always have a directory upgrade, the server "hangs" waiting on the answer. So our first boot into 11 will be manually.

4. Start the server manually.
$ su notes
$ cd /local/notedata/
$ /opt/ibm/domino/bin/server
< wait for boot. Answer "Yes" if this Domino instance is the Directory server, wait for server to "settle" for several minutes. >

Shutdown the Domino service.
> q

5. Exit being the notes user, and start the server normally.
$ exit
$ systemctl start domino.service


CentOS 7.x Linux Installation
and Prerequisite Steps:


Linux CentOS 7 OS Install:

Create a new CentOS 7 VM
- 6 GB of memory with 1 Disk of 50 GB, and video memory of 16 MB for the X Windows system
Note: With only the CentOS 7 OS running (w/o X Windows GUI), the system used between 1.5 and 1.7 GB. So we added 3.5 GB to start for Domino. If you have more than 50 concurrent users or have a heavier load increase the memory and start with 8 GB of memory.

Attached to CentOS iso:

The current iso at this writing appears to be:
CentOS -7-x86_64-Minimal-1908.iso
We did NOT try the new CentOS 8 since, at this writing, some of the libraries are older than in CentOS 7.7.

Started VM and Installation:
At start page, selected top link: Install CentOS 7

On Welcome page, took the defaults of English and English US, clicked Continue.

On Installation Summary page,
- kept Date &Time default, as it was correct.
- kept SOFTWARE SELECTION as Minimal Install, as it was correct.
--> Click the Disk icon under Local Standard Disks. (Ours says VMware Virtual disk, sda / 50 GB)
--> Click Done.
--> At the top right, changed the ens192 NIC to On
--> At the bottom, enter the hostname AND domain: myserver.mindwatering.net, click Apply
--> Clicked Configure and set-up for a static/Manual IP
- - - - IP Address:
- - - - Netmask: 24
- - - - Default Route:
- - - - DNS:
- - - - Search Domains: mindwatering.net
- - - - click Save
--> Back in the NETWORK & HOST NAME page, click Done.
With all the warning caution triangles removed/completed, click Begin Installation.

While the installation is going, under USER SETTINGS, click ROOT PASSWORD.
--> Enter the root user password in the Root Password field, enter it again in the Confirm field.
--> You can create the Domino server notes user now, or do it later. To do it now, click USER CREATION.
- - - - Fullname: notes
- - - - User name: notes
- - - - Password: *************
- - - - Confirm password: *************
- - - - (Leave checked the checkbox for Require a password to use this account. Leave unchecked the checkbox for Make this user administrator)
- - - - click Done
- - - > click Finish configuration
When done, click Reboot.

Update the network settings to what's needed for your installation.
For the Installation Destination, we typically have on disk for the OS, one for /local/notesdata, and others for anything else needed for the box. (e.g. another one for transaction logs, and one for DAOS).

Login and Start Prerequisite Tasks:
After reboot, login as root, and update the system:
# yum update
< waited >
# yum autoremove

Install Open VMTools if Using VMware VM:
CentOS doesn't install the VMware/OpenVM tools automatically like in Ubuntu. Install the open-vm tools with:
# yum install open-vm-tools
< click y, to the request to install the RPG certificate key to trust the repository >

Start the tools (ours was not running):
# systemctl enable vmtoolsd
# systemctl status vmtoolsd
# systemctl start vmtoolsd

Install OpenSSH Server:
To remotely manage the server, and to transfer files to it, install the OpenSSH server:
# yum install openssh-server
Note: Installation of openssh-server not needed. Already installed.

Security/Limits File Updates:
Edit /etc/security/limits.conf using root and add or modify the lines:
notes soft nofile 65535
notes hard nofile 65535
(Use 65535 for 64 bit Linux for both soft and hard limits, per HCL 2019/12. )

$ vi /etc/selinux/config
Change to SELINUX=disabled and save.
(<esc> :wq <enter> to save)

Time Server Sync:
(optional) Set up NTP if not using VMware Tools or OpenVM tools to sync time:
$ ntpdate pool.ntp.org
$ chkconfig ntpd on

32-Bit Multilib Installations?
I received confirmation from Daniel Nashed that no compat libraries or 32-bit libraries are needed anymore as ST is fully 64-bit.

64-bit Packages for Domino:
If you have the Desktop version of CentOS 7.7, it appears that the pre-requisite packages for the graphical installation were already there.
HCL has not published that certain new packages are needed or some are no longer needed. So for know we verified the same packages as our previous Domino 9 and 10 upgrades. With CentOS 7.6 and 7.7, only perl and libXp were not already installed with the minimal ISO plus the stripped GNOME Desktop we installed.

The Domino install via console mode requires perl
# yum install perl

The following were already installed; these can be skipped:
# yum install glibc
# yum install libgcc
# yum install libstdc++

For the X-Windows Desktop install, the following are all installed; these can be skipped:
# yum install libXtst
# yum install libXmu
# yum install libXft
# yum install libXi

The previous versions of Domino on Linux also required the libXp. We installed Domino successfully w/o it, but don't know if something still needs it. Just in case, we installed libXp:
# yum install libXp

Setup the Domino User Account:
Skip this step if you set up the notes user during the install, but do the DOMINO_LINUX_SET_PARMS and the /local/notesdata steps still.
Create the notes (domino) user. Leave alone the opt/hcl/domino path so it owned/signed by root, but change the ownership of the /local/notesdata folder so that is is owned by the notes server user.
# useradd -d /home/notes -m notes
- or to include a specific UID ID -
# useradd -d /home/notes -m notes -u 1008

Set the password:
# passwd notes

Set up the notes user to use DOMINO_LINUX_SET_PARMS:
# vi /home/notes/.bashrc
Add to the end of the file: export DOMINO_LINUX_SET_PARMS=1

Create the installation Domino data notesdata folder. We use /local/notesdata.
(For a new CentOS 7.7 install, we had to create the /local folder, in addition to the /local/notesdata folder.)
# cd /
# mkdir local
# cd /local
# mkdir notesdata
# chown -R notes /local/notesdata/
# chgrp -R notes /local/notesdata/
# chmod -R g+w /local/notesdata/

Open the Domino Firewall Ports:
CentOS 7 uses FirewallD.
If you are not using the Domino Java Controller, leave off 2050. There are other ports for IMAP and POP3 if needed (993 and 995).

# firewall-cmd --zone=public --add-port=1352/tcp --permanent
# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --zone=public --add-port=443/tcp --permanent
in this example we restrict SSH and e-mail to internal networks only ...
# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="" port protocol="tcp" port="2050" accept"
# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="" port protocol="tcp" port="22" accept"
# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="" port protocol="tcp" port="25" accept"
# firewall-cmd --reload

Confirm loaded and running:
# firewall-cmd --state

Other Misc Steps:
If running multiple IPs, update the network configuration with second ethernet.

Update /etc/hosts:
- Watch out for the GUI (desktop) tool to wipe out /etc/hosts and the loopback address!
- If a second line has been added for, comment it out with a # in front of the line. That messages up the server.
- Add a new line with the server's internal IP and FQDN and simple hostname:
# myserver myserver.mindwatering.net myserver
Save the file and exit. <esc> :wq.

If the /local/notesdata/ is a second virtual (or real) disk and you need to mount it, update /etc/fstab.
e.g. /dev/sdb1 /local/notesdata ext3 defaults 1 1

Verify that postfix is not running or enabled. If so, disable it.
# systemctl status postfix
< received active status>
# systemctl stop postfix
# systemctl disable postfix

Install Domino Start-up Scripts:
For the Nashed start-up script, follow the instructions that come with the start-up script.
For the domino.service file in /etc/systemd/system, update lines 7, 10, and 11 for your paths.
For the rc_domino_script in /opt/ibm/domino or /opt/nashcom/, update lines 42 and 65 for the server OS ID and paths.
For the rc_domino in /etc/init.d/, update lines 31, 35, and 43, for your server OS ID and paths.
For the rc_domino.script_notes file to /etc/domino/, updates similar lines as rc_domino.script.
Update all the file permissions to 755.
$ sudo systemctl enable domino.service

Note: This server is an upgrade, not a new install. We are re-using the /local/notesdata, and we chose to keep the existing /opt/ibm/domino path. Our existing start-up script is already in/opt/ibm/domino If this is a new install, the script path will be /opt/nashed/, as Daniel Nashed now has his scripts set to be in a separate /opt/nashcom/ folder.

Installing a Desktop on CentOS 7.7 Minimal:
We found that the ST installation doesn't yest have a response file setup documented and readme.txt - no console install possible. If you run the install w/o a GUI you get files scatter across your root "/" folder. So we have install a GUI into the server uUntil the documentation is released.
We found that with CentOS 7.7 the groupinstall for "X Window system" doesn't work with startx by itself, even with increasing video size to 128 MB. We could use "GNOME Desktop", but that gives us all the desktop apps, which are not needed on a server. So we installed with the base gnome groups added with it, instead.

# yum groupinstall "X Window System" -y
# yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
# yum groupinstall fonts
# startx
< gnome booted successfully. Clicked the Power symbol (upper right) to restart the server.>

(Optional) Login as root, and set the GNOME Desktop to be loaded instead of the terminal prompt as desired.
# systemctl set-default graphical.target
For a manual run, systemctl isolate graphical.target, is used to still default to terminal, but give option to boot to GUI.

The GNOME default 800x600 resolution isn't big enough for installation screens. Increase it:
Applications --> System Tools --> Settings
In the Settings dialog, scroll down and choose Display
Change the Display Resolution field to something bigger but smaller than the average admin's monitor resolution. We choose 1280x800 (16x10). Click Apply.
Click the Keep Changes button in the dialog. (If don't click it, the system will think you cannot, and revert to previous resolution.)
Close the dialog to return to the GNOME desktop.

previous page