Installing DB2

I am going to use DB2 as our Database server rather than SQL or Oracle because that’s part of our Connections entitlement.  If you have expertise and licensing for either Oracle or SQL and prefer those servers then I would go with them instead.  This DB2 install for our Connections101 server is very simple, a single instance and standard accounts. Depending on your requirements for HA and/or your number of users you may need to give that more thought.

I downloaded and use the DB2 (fixpack 5) universal installer.  You can install this without installing 10.5 first.  I extracted the compressed file v10.5fp5_ntx64_universal_fixpack then checked the OS meets the install requirements using the pre-requisite check

From the directory /DB2/univeral run ./prereqcheck


the pre requisite check is going to validate if all the correct OS libraries and settings are in place.  In my first check I was missing several necessary files including 32bit versions of some libraries that even the 64bit DB2 installer needs.

Installing Dependencies

Any libraries that are missing can be installed using yum – in this case I was missing gcc which I resolved with “yum install gcc”.  This is why I strongly recommend you don’t attempt a Linux install without a subscription in place to help you find and install all the libraries you need.

Each time I successfully installed a missing library I re-ran prereqcheck again.  In total it took less than 10 minutes to get all the libraries installed.

The final pre-requisite you may fail on is ensuring SELinux is disabled on the OS. By default it will be enabled and to disable it you can edit the file /etc/selinux/conf (in my RedHat deployment) using:

sudo vi /etc/selinux/config and setting SELINUX=disabled

Disable SELinux

Once all the pre-requisites are passed we can go ahead and install DB2 which we do by running ./db2setup from the “universal” directory the installer created (the same directory we ran db2prereqcheck from).

The default installer uses a GUI so you can either configure your SSH connection to use X11 forwarding or (I prefer) use either NoMachine or VNC.  X11 works well but can be very slow to redraw screens.

db2setup 1

I choose to “Install a Product” and in this case I’m installing the DB2 Workgroup Server Edition which is all that I need to host the Connections101 databases.

db2setup 2

I like to choose the custom install so I can minimise what features are added and ensure no unnecessary services are listening or available.  Having services I don’t need installed just exposes access via a route I may forget exists and so don’t secure properly.

db2setup 4

Here are the features I chose – I don’t for example install LDAP or SSH services with my DB2 server for Connections.

Bear in mind that although DB2 itself will install into /opt/ibm/db2/v10.5, the actual databases will install into the home directory of the instance owner – /home/db2inst1. If your Linux partition isn’t set up correctly to allow plenty of space in /home (which by default it often isn’t) you will hit space problems.

Similarly when installing on Windows look at the install screens carefully and note where it wants to use c:\programdata for storing DB2 information. Even if you choose to install the program files on an E drive you need to make sure you check all locations to avoid filling up your C drive by default.

db2setup 6

Now we need to set up users who will have administrative access to the DB2 services. In Windows the default user is a local account called db2admin.  In Linux it’s a local account called db2inst1.  At this point of the install neither account exists, the installer will both create them and grant them the access they need.

It’s important to note what you use on the next few screens for the account names and passwords.  You will need to switch to these accounts at various points to work with DB2

db2setup 8

DB2 can create multiple instances which run in isolation from each other with their own assigned memory and resources.  In larger environments this is useful for sharing the load of many databases across the resources of a large server.

I’m choosing to create a single DB2 instance and install all the databases into it.  In a large environment I would often have multiple instances to ensure I can manage resources effectively and that I can share the Connections databases across them.

db2setup 9

The local db2inst1 account which will be created during install is the account you use to perform all the DB2 maintenance work including creating the Connections databases using the DBWizard and running the update or maintenance scripts.  Post install you can also grant other users rights to do this work if you want.

db2setup 11

DB2 installs listening on port 5000, you can easily change this during the install if you need to.  Some people choose other ports to obfuscate security so that DB2 can’t easily be found on its known port.  If that’s all the security you have in place then you should worry 🙂

db2setup 12


db2setup 13

Once the install is complete you can verify it by checking you can login or switch (su)  to db2inst1 (which confirms the account is created) or , if Windows, that you can login to the server using local account db2admin.

You should also verify that the new server is listening on port 50000 or whatever you chose during install.  I like to do this after a clean restart of the OS to ensure the DB2 server does start automatically on OS launch.


netstat -tulvn | grep :50000

or on Windows

netstat -an | find /i “50000”

Finally we need to activate our DB2 install.  Download the activation file CN3Z2ML from Passport Advantage.  


Unzip the download and find the file db2ese_u.lic which should be in the top directory.

Login to the server as db2inst1 and run

db2licm -a <pathto db2ese_u.lic>

Verify the license has applied by typing db2licm -l


Organising The Software

The first task after I’ve built the Deployment manager OS is to get all the installers and fixes downloaded.  In this environment we will have both Linux 64bit and Windows elements and so both copies of Installation Manager are downloaded for instance.

Here’s my directory structure – I use this and either scp or winscp to copy files onto other servers for installation.  It’s entirely a personal preference but I find having all the software organised into folders in a single location makes it easier to identify what I installed and ensures I don’t miss anything.

The jre was purely for using download manager on the IBM software site 🙂

Organising Software

Linux Setup And Tools

I like installing on Linux and know just enough about RHEL and SLES to get the work done that I need to do. I wouldn’t call myself an expert but I know what works for me to build Connections.  For instance there are several things I have on my checklist when deploying a Linux OS for Connections.

  1. I always deploy using supported distros.  That means for me specifically RHEL or SLES. I know people deploy using CentOS and others – I don’t.  Partly because it’s not supported so if it goes wrong I can’t expect IBM to help me and partly because I’m providing a Connections installation consultancy not Linux consultancy – when I quote work it’s to install Connections not to go down a rabbit hole of Linux workarounds.  I would feel bad charging people for Linux consultancy, there are far better Linux experts out there!
  2. I always take a subscription so I can update the OS and download any tools or libraries I need.  For this demo build which is only going to run for a few months I’m using a 30 day RHEL trial license so I can set it up properly.  Once more it’s about time. It costs a lot more in my time to manually find, download, place and install packages without subscription then a single license costs.  When you install RHEL the first thing you are going to want to do is update and add packages, with subscription you can do that in minutes rather than hours.
  3. I like to use gedit for editing XML files in place (yum install gedit) rather than vi or another text editor. The display of the structure and attributes is very clear which makes it easy for me to find content and spot typos. Connections is all about XML files
  4. I use WinSCP to copy files from a Windows machine over to a Linux one.  If I’m using my Mac I just use scp from within terminal but often I am on a remote server on a customer site and winscp is easier to deploy and use.  It’s also really easy to recursively copy entire directories like the log directories off the server to read.  Whenever I’m analysing logs, for all but the simplest reviews, I prefer to offload them from the server and review them on my workstation
  5. I use AQT (Advanced Query Tool) for opening and reviewing databases and install it on my Windows workstation.  It’s not expensive and supports all ODBC connections and a lot more. I have a blog piece on it here
  6. I install a graphical interface on Linux (usually GNOME) because I prefer working with that for things like Installation Manager and because X11 forwarding is too slow through most customer VPNs to make it workable for me.  If you’re not a seasoned Linux expert having a GUI will save you a lot of stress and make you better able to manage the environment.
  7. I use NoMachine as a remote desktop on Linux which ensures my session activity doesn’t timeout even if I go away, shut my laptop, get some sleep.  It also means other people can connect and takeover my session where I left it.
  8. I edit the /etc/hosts file and ensure that I have explicit entries for the local server, whatever hostnames it may use and all the other servers in my Connections environment with their hostnames.  I could rely on DNS to do this.  I choose to have more direct control over name resolution by using the hosts file.

So all of that is in place and now I’m ready to get started.

Step 1 Preparation and Design

First we need to consider what we are going to want (or potentially want) in our environment, even if we’re not installing now.  For instance I’m going to start by installing all the standard Connections applications but I know I will want to install IBM Docs and Cognos further down the road.

This is a small environment which I am confident will not be growing but in most circumstances I would make sure to separate the Deployment Manager server from the Application Servers to give flexibility for the architecture going forwards. Similarly I would never install IBM HTTP Server on the same instance as the Application Server or Deployment Manager if I planned to grow the environment in the future.

In our model I’ve  separated the IHS server onto a Windows 2012 R2 instance for no other reason than I wanted to show it on a separate server and I wanted to talk about both Windows and Linux deployments.


Time To Download Take 2 – Connections 5.5

Update for Connections 5.5 – the previous post referred to Connections 5 and we will be installing 5.5 which shipped Dec 18th 2015.

There were a Day 1 fixes for Connections which must be installed. 

I usually set aside a day in my planning to find all the latest software, the latest patches and get them in place and extracted on the servers I’m using.  I like to create a “Software” directory on the deployment manager to put everything in one place and so I don’t have to keep copies on every server but that takes space. Expect to need up to 50GB for your installers. To manage space I like to delete the  extracted directories once I’ve completed the installs

None of the downloads I’ve listed below are optional and that certainly includes the fixpacks and fixes. You need all of these if you’re going to install Connections.

IBM Installation Manager

I like to download the latest 64bit version.  It will give you a warning when you install Connections that Connections itself is a 32bit product but I find the 64bit version works better regardless.  The latest version if 1.8.4 but find all versions here with links to their downloads  on Fix Central (where you’ll need to login).

WebSphere 8.5.5

Comes in three parts and you’ll need all three extracted to the same directory.

CIK2HML IBM WebSphere Application Server Network Deployment V8.5.5 (1 of 3)

CIK2IML IBM WebSphere Application Server Network Deployment V8.5.5 (2 of 3)

CIK2JML IBM WebSphere Application Server Network Deployment V8.5.5 (3 of 3)

Websphere 8.5.5 Fixpack 6

Once WebSphere is installed,  Installation Manager will connect to the IBM download sites to bring down fixes and fixpacks on demand.  To do this you need a login for your Passport account and your server needs to be able to connect outbound on port 80 either directly or via a proxy.  I find this a much simpler way of deploying updates than finding and downloading the files so I usually don’t download them in advance.

If your server isn’t going to be able to do that you will need to download the fixpack from this document

IBM HTTP Server 8.5.5

IHS is found inside the WebSphere Supplementals downloads, along with other tools that we’re not going to use here.  There are once again three separate download files and you’ll need to get all three and extract them all to their own directory.  Which I like to call WASSUPP because it makes me smile.

CIK1VML IBM WebSphere Application Server V8.5.5 Supplements (1 of 3)

CIK1WML IBM WebSphere Application Server V8.5.5 Supplements (2 of 3)

CIK1XML IBM WebSphere Application Server V8.5.5 Supplements (3 of 3)

DB2 10.5 Fixpack 5

There are a lot and I mean A LOT of DB2 products but the one I’m going to download and use is

CIXV0ML IBM DB2 Server V10.5 for Linux on AMD64 and Intel EM64T systems x64) Multilingual

For a full list of DB2 10.5 products and part numbers take a look here

DB2 10.5 Fixpack 5 ( is downloadable from Fix Central via this document.  I like to download the Universal Fix Pack installer.

All download links for all DB2 version and platform fixpacks are found on this technote

Tivoli Directory Integrator 7.1.1

CZUF3ML IBM Tivoli Directory Integrator Identity Edition V7.1.1 for Linux – x86-64,

TDI Fixpack 4

The documentation and a link to the Fix Central download is here

The Fix Central homepage is here

IBM Connections Wizards

CN80DML IBM Connections V5.5 Wizard for Windows Multilingual

IBM Connections Installer

CN80AML IBM Connections V5.5 for Linux Multilingual

Day 1

Details of the upgrade strategy for the Day 1 fixes are here

Upgrade Installer (needed to install the updates) here

Day 1 Connections Fixes here

Database Wizard (Windows) here




Updated migration tool (only used for migrating from a previous install) here