IBM Websphere Portal in linux containers [part1]

We are posting here an IBM Websphere Portal 8.5 CF08 highly available installation using linux containers (lxc).

By Kostas Koutsogiannopoulos

In the following post we are using linux containers instead of virtual machines, for lightweight isolation and portability.

The supported linux platforms for Websphere Portal are Red Hat Enterprise Linux and SUSE Linux Enterprise Server (SLES) 11. For details check this.

So we begin bulding an SLES container inside a clean SLES 11.2 virtual machine. After clean installation we run:

~# zypper in lxc
~# lxc-create -n sles -t sles

The "sles" container just created is portable so we can copy root file system living at /var/lib/lxc/sles directory to another linux server and boot the container there.

For our example we are using an ubuntu 14.04 LTS server as the hypervisor of all our containers.

We are migrating our container to remote host using rsync:

~# rsync -aAXHltzh -e ssh --progress --numeric-ids /var/lib/lxc/sles user@remotehost:/var/lib/lxc/

Check container's configuration file:

cat /var/lib/lxc/sles/config

# Parameters passed to the template:
# For additional config options, please look at lxc.container.conf(5)
# Common configuration
lxc.include = /usr/share/lxc/config/opensuse.common.conf
# Container specific configuration
lxc.arch = amd64
# Network configuration = veth = lxcbr0 = up = 00:16:3e:fa:86:34
lxc.rootfs = /var/lib/lxc/sles/rootfs
lxc.utsname = sles

List the containers:

~# lxc-ls --fancy
sles  STOPPED  -     -     -       NO         
~# lxc-start -n sles # The container is starting up
~# lxc-attach -n sles # To attach to a running container's console

sles:~ #

Now we have our sles container up 'n running.
We can configure our repositories, update it and install GNOME needed for IBM installation manager to install IBM software with GUI.

~ # zypper update

~ # cat /etc/SuSE-release 
SUSE Linux Enterprise Server 11 (x86_64)

~ # zypper install --auto-agree-with-licenses -y -t pattern x11 gnome

Now we are up-to-date with gnome:
~ # logout
Connection to closed.

From the hypervisor:

~ # lxc-ls --fancy
sles  RUNNING  -     -       NO         

Test it from host machine like that:

ssh -X root@
~ # xclock

...and confirm that graphical clock appears:

Now we are ready to install IBM Installation Manager in our container and use it as a template for all the portal nodes.

At first we extract the IM 1.8.3 package inside the container:

~ # mkdir /var/lib/lxc/sles/rootfs/IBM_packages
~ # unzip -d /var/lib/lxc/sles/rootfs/IBM_packages/

From the container's console (ssh -X root@ we run:

~ # /IBM_packages/install

Edit the file /etc/security/limits.conf adding the following:
* soft nofile 65535
* hard nofile 65535

Shutdown the container:

# lxc-stop -n sles

At this point we have a working SLES container with IBM Installation Manager, ready to clone it as many times as we need for IBM Webshere Portal software installation and every node.

Lets clone it to crete portal's primary node "wsp1":

~ # lxc-clone sles wsp1
~ # lxc-ls --fancy

sles  STOPPED  -     -     -       NO         
wsp1  STOPPED  -     -     -       NO         

Edit /var/lib/lxc/wsp1/config for network configuration of your preference:

lxc.include = /usr/share/lxc/config/opensuse.common.conf

lxc.rootfs                       = /var/lib/lxc/wsp1/rootfs
lxc.utsname                      = wsp1
lxc.arch                         = amd64                 = veth            = vethMyContainer                 = lxcbr0                 =         =                = up               = 00:16:3e:aa:bb:cc

Extract the packages for Portal installation inside the root file system of the container:

unzip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
unzip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
unzip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
unzip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
unzip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/

Now fire up "wsp1" container and launch Installation Manager:

~ # lxc-start -n wsp1
~ # lxc-ls --fancy

sles  STOPPED  -         -     -       NO         
wsp1  RUNNING -     -       NO         

~ # ssh -X root@

~ # /opt/IBM/InstallationManager/eclipse/launcher


Go to File > Preferences and add the repositories like the screenshots:


After 15 minutes we have the following packages installed at "wsp1":

Delete extracted packages:

~ # rm -r /var/lib/lxc/wsp1/rootfs/IBM_packages/*

In order to update portal to CF08, we need to follow the steps in this order: Update Websphere to > Install SDK7 fix to Websphere product > Install CF08 > Apply fix

Extract the packages for websphere 8.5.5 fix pack 7 inside the container as we did with the installation:

~ # unzip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/
~ # unzip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/

Change the repositories and update Websphere via Installation Manager to version

Extract the package inside the container:

~ # unzip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/

Change the repositories and update Websphere via Intalation Manager.

Extract the packages for cumulative fix 08 inside the container:

~ # unzip -d /var/lib/lxc/wsp1/rootfs/IBM_packages/

Change the repositories and update portal to CF08 via Installation Manager

Delete extracted packages:

~ # rm -r /var/lib/lxc/wsp1/rootfs/IBM_packages/*

Run apply fix:

~ # /opt/IBM/WebSphere/wp_profile/PortalServer/bin/ -DPortalAdminPwd=<password> -DWasPassword=<password>

Wait patiently for 15 - 20 minutes. In the end you will have IBM Websphere Portal updated and running.

Check your portal at


In the following post we will create a container with db2 instance, we 'll transfer the database, and make the portal installation highly available.

View epilis's profile on LinkedIn Visit us on facebook Twitter epilis rss feed: Latest articles