Domino 9.0 Setup / Install on Ubuntu 14.04 (Trusty Tahr) / Ubuntu 15 (Vivid Vervet and Wily Werewolf) / Ubuntu 16.04 (Xenial Xerus)

Mindwatering Incorporated

Author: Tripp W Black

Created: 09/07/2016 at 01:03 AM

 

Category:
Ubuntu
Domino

Install Domino 9.0 on Ubuntu 14.04 through 16.04

Warning:
Ubuntu is NOT yet a supported platform for the Lotus Domino 9 server. I have used it for "non critical" boxes (e.g. SameTime, Traveler) since 8.5.

I recommend using the LTS releases when possible.


VM Prerequisite:
Create an Ubuntu 64-bit VM with 3 to 4 GB ram.
Create two separate disks: one disk for the OS (1st disk for: /, /boot, swap, etc), and another for the Lotus Domino data directory (/local --> /local/notesdata). Make the first disk around 10 to 12 GB. Make the second disk 4 GB + your anticipated mail and app disk space needs. In addition, add additional space to the OS disk for matching the largest app NSF. This will ensure plenty of room for the OS to grow over time and give you extra space for indexing that "massive" NSF the "quick" way. Ubuntu supports in-place upgrades, that work pretty well, from LTS to LTS release.
Create a NIC that is the new VMXNET3. Ubuntu has recognized it for the last several releases w/o having to first do an E1000 NIC and then swap it after VMware Tools.


Install OS and Configure:
1. Download 64-bit Ubuntu 14.04 LTS or Ubuntu 16.04 LTS.

Note: I typically use the minimal Server install rather than the Desktop install. Adapt these instructions depending on your preference for starting Desktop vs Server, and whether or not you want a GUI.

2. Install Minimal Server w/SSH Server
(no mail (Postfix), no Apache)

3. Make sure all is up-to-date. Run a Terminal from the GUI if you already installed a desktop.
$ sudo apt-get update
$ sudo apt-get upgrade

4. Make sure SSH is enabled, assuming you wish to remotely manage and transfer files.
$ sudo apt-get install openssh-server

5. If desired, and not done already, install the GUI, but w/o all the Gnome apps and the client networking.
$ sudo apt-get install --no-install-recommends ubuntu-desktop
<wait>
$ reboot

6. Install the open-vm-tools.

For terminal:
$ sudo apt-get install open-vm-tools
or
$ sudo apt-get install open-vm-tools-lts-trusty
(... for the specific version - typically the first one works just fine)

For terminal and desktop, if you have the GUI installed:
$ sudo apt-get install open-vm-tools open-vm-tools-desktop
(Not been needed last couple releases of Ubuntu. Already installed automatically w/ system.)

7a. Locate the NIC / network interface card.
$ ls /etc/network/interfaces
Note the name of the interface. You'll either be editing the file named interfaces, or another with a custom name. eg. en160

7b. Edit the file and switch it to a static IP address.
$ sudo vi /etc/network/interfaces

Make updates similar to the following:
auto ens160
iface ens160 inet static
address 10.0.118.100
netmask 255.255.255.0
network 10.0.118.0
broadcast 10.0.118.255
gateway 10.0.118.1
dns-nameservers 10.0.118.1 10.0.118.254

Save the file and exit. <esc> :wq.

7c. Restart the network and verify it restarts okay.
$ sudo service networking restart

8. Update the /etc/hosts file with the IP address and name of the server.
$ sudo vi /etc/hosts

Make edits similar to the following under the localhost line:
10.0.118.100 myserver.mindwatering.net myserver

Save the file and exit. <esc> :wq.

9. Update the hostname of the server, if it doesn't match what you entered during install.
$ sudo echo myserver > /etc/hostname
$ sudo service hostname start

Confirm it:
$ hostname
$ hostname -f

The first command above prints myserver. The second command prints out myserver.mindwatering.net.

10a. Increase display size from the 800x600 resolution.
From desktop, choose Settings --> Display. Adjust to desired size.

10b. Install other utilities.
At this point, you can install either by terminal command line or by the Ubuntu Software Center the desired utilities you wish. Since I used the no-install-recommends, to make sure LibreOffice and other client fluff were not installed, there are probably utilities you now wished you had . . .
(e.g. FileZilla, Firefox, etc.)

11. Set-up NTP. (Optional. You can also use VMware Tools to sync the time by enabling it in both the VM's settings panel and the client.)
$ touch /etc/cron.daily/ntpdate
$ vi /etc/cron.daily/ntpdate
Add the following line and save: ntpdate ntp.ubuntu.com
$ sudo chmod 755 /etc/cron.daily/ntpdate


Install Domino 9.0.1 Prerequisites:
1. Increase file-handles for Domino.
Edit /etc/security/limits.conf using sudo and add or modify the lines:
$ sudo vi /etc/security/limits.conf

Add / modify the following lines:
notes soft nofile 20000
notes hard nofile 65535
(where notes is / will be the o/s username for the server. Use 49152 for 32 bit Linux and use 66635 for 64 bit Linux)

2. Create new user & home folder.
$ sudo useradd -d /home/notes -m notes

Group command may be not needed on Ubuntu, seems to be already be created as part of home command above. Leaving as historical note. System returns "group exists" if entered.
$ sudo groupadd notes

3. Give the new notes user a password. After enter, enter your password and then notes user password twice.
$ sudo passwd notes

4. Add firewall rules for common Domino ports. Enter the following applicable commands to open your server's ports for the Domino services you are going to run:
$ sudo ufw allow proto tcp to any port 22 from 10.0.118.0/24
$ sudo ufw allow proto tcp to any port 25 from 10.0.118.0/24
$ sudo ufw allow proto tcp to any port 1352
$ sudo ufw allow proto tcp to any port 80
$ sudo ufw allow proto tcp to any port 443

If server is also an IBM Sametime server:
$ sudo ufw allow proto tcp to any port 544
$ sudo ufw allow proto tcp to any port 9092
$ sudo ufw allow proto tcp to any port 9094
$ sudo ufw allow proto tcp to any port 8088
$ sudo ufw allow proto tcp to any port 1533
$ sudo ufw allow proto tcp to any port 1516
$ sudo ufw allow proto tcp to any port 8082
$ sudo ufw allow proto tcp to any port 8081
$ sudo ufw allow proto tcp to any port 1503
$ sudo ufw allow 1:65535/udp

Enable the firewall. Check for any errors.
$ sudo ufw enable

5. Install needed libraries for Domino:
$ sudo apt-get install libstdc++5
$ sudo apt-get install ttf-xfree86-nonfree

$ sudo apt-get install libxmu6
$ sudo apt-get install libxp6
$ sudo apt-get install libxp-java
$ sudo apt-get install libxtst6
$ sudo apt-get install gawk
$ sudo apt-get install libgnomeprintui2.2-0
$ sudo apt-get install ia32-libs


6. Update the shell, so that it uses /bin/sh, a.k.a. bash.
Note: You could update the notes user/s .profile instead. There are a few different solutions for this.

Replace / relink sh:
(The server script uses /bin/sh, we do this to ensure we are using bash, not dash. These instructions will save the old config with old in-case you wish to every put it back. )
$ sudo mv /bin/sh /bin/sh-old
$ sudo ln -s /bin/bash /bin/sh

7. Make the server's data folder and give the ownership to the new notes user.
Note: we will leave the /opt/ibm owned by root after the install.
$ sudo mkdir /local/notesdata
$ sudo chown -R notes /local/notesdata
$ sudo chgrp -R notes /local/notesdata


Transfer Domino
Using FileZilla, transfer the 64-bit Domino 9.0.1 install file and the lastest Fix Pack install file over secure SSH to the server. You have at least one main install file for the 64-bit server, along with its latest fix-pack (FP), and optionally a second for the Social components (e.g. you are running Connections with the Files and Profiles components, etc.), with its latest Fix Pack.
Transfer the server install file and its fix pack into the admin folder you use for the desktop or the main admin user. (e.g. /home/adminuser/Downloads )


Install Domino
The installation is 3 parts.
- Unpacking the install program
- Installation of Domino and the latest fix-pack
- Set up the server if you are not reusing a previous install

1a. Unpack the install files.
$ cd /home/adminuser/Downloads
$ sudo tar -xvf Domino-server-filename.tar
$ cd /linux64/domino

1b. If you are "swinging" the Domino install, copy the old servers notesdata folder from the old server to the new one before installation. Don't worry if the if the new server is a newer release. If you are also migrating from 32-bit Domino to 64-bit Domino, you have so post set-up tasks with undating indexes and compacting. Search the web or this site for the tech notes on how to do this.
I typically use FileZilla to transfer the files. Afterwards, run step 7 again to fix any permission issues. You may also need to run chmod, too.

2a. Perform installation.
$ sudo -s
(<enter password> Why, we've found that the ./install program runs better as the real root user)

#./install
- install program will tell you that installs are set in graphic mode. Answer yes, the default, to continue in graphic mode. I like No, so I install in console mode instead.
- click 1 (or <enter>) for next to continue
- click <enter> for license reading
- click <enter> multiple times to read all the license or skip it and click 1 for next
- click 0 assuming no data partition upgrade -- we are doing new install
- click 1 to continue
- click <enter> to take the default install path (/opt/ibm/lotus)
- click <enter> to take the default that we are not doing partitioned server
- click 1 to continue
- click <enter> to take the default data folder install path (/local/notesdata)
- click 1 to continue
- enter the domino user added way above - e.g. notes (or you can take the root default, which I've never done.)
- enter the domino group added way above - e.g. notes (or you can take the root default, which I've never done.)
- click 1 to continue
- click <enter> to take default for manual setup
- click <enter> to take default of Domino Enterprise license (change if that's not your license type)
- click 1 to continue
- click <enter> to confirm choices
- click 1 to continue (install will now happen)
- click 3 to finish and exit.

2b. Remove the temp files.
# rm -R /home/adminuser/Downoads/linux64/ )
The install is done. Install the fix-pack next, as applicable.

2c. Repeat step 1 through step 2b in this section again, this time un-taring the Domino fix-pack file and installing it.

3. Perform the set-up.
# exit
$ cd /local/notesdata
$ su - notes
<enter password>
$ /opt/ibm/domino/bin/server

Notes:
The path may be different depending on upgrade vs new R9 install.
You can tell it to -listen if this is a new server set-up. Then you can remotely set-up this new server as the first server or an additional server. This is well documented in the Domino Administrator client Help.

We do the setup before adding/enabling running as a service. Watch the first run after setup or upgrade for any issues.
Click "Y" to upgrade the Domino Directory if you also are upgrading an existing or migrated Domino server, when prompted.

Add a startup script to the /etc/init.d folder so Domino can be started/stopped as a service:
(You can search this support database for startup scripts, too.)
(e.g. wget://url.to.file.com/folder/domino)

Notes:
For Systemd / Upstart, Nash has a good start-up script. Or you can use your own variant of the domino script from IBM from 2001-2003 that is placed into /etc/init.d/. For either case, update the files with the correct paths for your install, and the username for the notes/domino linux user.

Instructions for the domino init.d startup/shutdown script:
Copy the file to /etc/init.d/. We used FileZilla via SSH.
$ sudo chmod +x domino
$ sudo update-rc.d domino defaults

or

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/ibm/notes, 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


Fix Pack Installation Instructions:
If you are running RH 7, or RH 6.4, or Ubuntu 14.04 or 16.04 w/the newer PERL 5.22+, the installation will just quit after you start it. You must edit the linux64/domino/tools/lib/NIC.pm. Update the line #80 and remove the defined ( ) function leaving the rest of the line intact including what's inside the define function. Afterwards, make sure you set the NUI_NOTESDIR variable before running the install program.
# cd /home/myadmin/id/tmp/
# tar -xvf domino901FP8_linux64_x86.tar
# cd linux64/domino/tools/lib
# vi NIC.pm
So this line:
if (defined(@{$scr->{target_hosts}})) {
... becomes ...
if (@{$scr->{target_hosts}}) {
# cd linux64/domino/
# NUI_NOTESDIR=/opt/ibm/domino
# export NUI_NOTESDIR
# ./install


previous page