Tuesday, 14 August 2012

WebSphere Portal v8 on Red Hat Enterprise Linux - revisited

As promised last time around, I have spent more time documenting and scripting the installation of WebSphere Portal 8 on Linux, and have overcome many of the challenges that I saw then, partly because I paid more attention to the documentation, including the WP8 Wiki: -


For the record, I'm using Red Hat Enterprise Linux 6.3 x86-64 and a download of WebSphere Portal Enable v8, unpacked using the following script: -

mkdir /tmp/WP8
unzip /mnt/CI7N3ML.zip -d /tmp/WP8
unzip /mnt/CI7N4ML.zip -d /tmp/WP8
unzip /mnt/CI7N5ML.zip -d /tmp/WP8
unzip /mnt/CI7N6ML.zip -d /tmp/WP8
unzip /mnt/CI7N7ML.zip -d /tmp/WP8
unzip /mnt/CI7N8ML.zip -d /tmp/WP8
unzip /mnt/CI7N9ML.zip -d /tmp/WP8
unzip /mnt/CI7NAML.zip -d /tmp/WP8
tar -xvzf /mnt/CI7NDML.tar.gz -C /tmp/WP8
unzip /mnt/CI7V6ML.zip -d /tmp/WP8
unzip /mnt/CI7V7ML.zip -d /tmp/WP8

As I was installing on a VM, using VMware Fusion on the MacBook, I had the source media mounted as /mnt/hgfs.

So, in the words of Morpheus, here we go ...

Install the required libraries, if needed

yum install -y gtk2.i686
yum install -y libXtst.i686
yum install -y gtk2-engines.i686
yum install -y libcanberra-gtk2.i686
yum install -y PackageKit-gtk-module.i686

Check the file descriptor ( -n ) and file size ( -f ) limits

$ ulimit -n

- returned 1024

$ ulimit -f

- returned unlimited

Increased the file descriptor limits

$ vi /etc/security/limits.conf 

- added: -

* hard nofile 10240
* soft nofile 10240
reboot 

$ ulimit -n

- returns 10240

Install IBM Installation Manager

/mnt/WP8/Setup/IIM/linux_x86/installc -acceptLicense -record ~/install_IIM.rsp -skipInstall skip

- results in install_IM.rsp

<?xml version="1.0" encoding="UTF-8"?>
<agent-input>
<server>
<repository location='/tmp/installerRepository5232553412336074951.tmp'/>
<repository location='/mnt/WP8/Setup/IIM/linux_x86'/>
</server>
<profile id='IBM Installation Manager' installLocation='/opt/IBM/InstallationManager/eclipse' kind='self'>
<data key='eclipseLocation' value='/opt/IBM/InstallationManager/eclipse'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.arch' value='x86'/>
</profile>
<install modify='false'>
<offering id='com.ibm.cic.agent' version='1.5.2000.20120223_0907' profile='IBM Installation Manager' features='agent_core,agent_jre' installFixes='none'/>
</install>
<preference name='com.ibm.cic.common.core.preferences.connectTimeout' value='30'/>
<preference name='com.ibm.cic.common.core.preferences.readTimeout' value='45'/>
<preference name='com.ibm.cic.common.core.preferences.downloadAutoRetryCount' value='0'/>
<preference name='offering.service.repositories.areUsed' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.ssl.nonsecureMode' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.http.disablePreemptiveAuthentication' value='false'/>
<preference name='http.ntlm.auth.kind' value='NTLM'/>
<preference name='http.ntlm.auth.enableIntegrated.win32' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.preserveDownloadedArtifacts' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.keepFetchedFiles' value='false'/>
<preference name='PassportAdvantageIsEnabled' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.searchForUpdates' value='false'/>
<preference name='com.ibm.cic.agent.ui.displayInternalVersion' value='false'/>
<preference name='com.ibm.cic.common.sharedUI.showErrorLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showWarningLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showNoteLog' value='true'/>
</agent-input>


Update IBM Installation Manager (IIM)

$ /opt/IBM/InstallationManager/eclipse/IBMIM

- Choose File -> Preferences
- Select the Updates tab
- Check Search for Installation Manager updates
- Click OK
- This returned: -

A new version of IBM Installation Manager is available.  If you do not update the Installation Manager you will not be allowed to install some packages that require the new version of the Installation Manager.

Do you want to update the Installation Manager?
  Running Installation Manager version 1.5.2 (internal version 1.5.2000.20120223_0907).
  Found Installation Manager version 1.5.3 (internal version 1.5.3000.20120531_1954).

- Post-update, restart IIM

Record a response file for the WP8 installation

/opt/IBM/InstallationManager/eclipse/IBMIM -record ~/install_WP8.rsp -skipInstall /tmp

- Choose File > Preferences
- Select the Repositories tab
- Add the following repositories: -


- Click Install
- Select WebSphere Application Server Network Deployment, WebSphere Portal Server and WebSphere Portal Enable
- Click Next
- Select the listed WAS iFixes - four at this time; that may change over time
- Click Next
- Read and then Accept the license agreement
- Click Next
- Accept the default shared resources directory - /opt/IBM/WebSphere/IMShared
- Click Next

- Click Next

- Click Next
- Click Next
- Select your required Profile Template type - I chose Full
- Click Next
- Select your configuration mode - I chose Standard
- Click Next
- Complete the configuration details for your environment - I chose: -

Host name rhel6.uk.ibm.com
Node name rhel6node
Cell name  rhel6cell
Administrator user ID wpsadmin
Administrator password passw0rd

- Click Next
- Confirm the summary, and then click Install

This should take 30 seconds or so, and then return back a nice friendly installation complete message :-) Of course, this is JUST recording the response file, not performing the actual installation

- Choose File -> Exit to close IIM

- This is the resulting response file: -

<?xml version="1.0" encoding="UTF-8"?>
<!--The "acceptLicense" attribute has been deprecated. Use "-acceptLicense" command line option to accept license agreements.-->
<agent-input acceptLicense='true'>
<server>
<repository location='/mnt/hgfs/WP8/WAS'/>
<repository location='/mnt/hgfs/WP8/Portal'/>
<repository location='/mnt/hgfs/WP8/Enable'/>

</server>
<profile id='IBM WebSphere Application Server Network Deployment V8.0' installLocation='/opt/IBM/WebSphere/AppServer'>
<data key='eclipseLocation' value='/opt/IBM/WebSphere/AppServer'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.arch' value='x86'/>
<data key='cic.selector.nl' value='en'/>
</profile>
<install modify='false'>
<offering id='8.0.0.3-WS-WAS-TFPM59935' version='8.0.3.20120309_1201' profile='IBM WebSphere Application Server Network Deployment V8.0' features='-'/>
<offering id='8.0.0.3-WS-WAS-TFPM60670' version='8.0.3.20120319_1949' profile='IBM WebSphere Application Server Network Deployment V8.0' features='-'/>
<offering id='8.0.0.3-WS-WAS-TFPM61934' version='8.0.3.20120409_1230' profile='IBM WebSphere Application Server Network Deployment V8.0' features='-'/>
<offering id='8.0.0.3-WS-WASProd-TFPM60134' version='8.0.3.20120312_1656' profile='IBM WebSphere Application Server Network Deployment V8.0' features='-'/>
<offering id='com.ibm.websphere.ND.v80' version='8.0.3.20120320_0536' profile='IBM WebSphere Application Server Network Deployment V8.0' features='core.feature,ejbdeploy,thinclient,embeddablecontainer,com.ibm.sdk.6_64bit' installFixes='none'/>
<offering id='com.ibm.websphere.PORTAL.SERVER.v80' version='8.0.0.20120421_0828' profile='IBM WebSphere Portal Server V8' features='ce.install,portal.binary,portal.profile' installFixes='none'/>
<offering id='com.ibm.websphere.PORTAL.ENABLE.v80' version='8.0.0.20120421_0909' profile='IBM WebSphere Portal Server V8' features='enable.upsell' installFixes='none'/>
</install>
<profile id='IBM WebSphere Portal Server V8' installLocation='/opt/IBM/WebSphere/PortalServer'>
<data key='eclipseLocation' value='/opt/IBM/WebSphere/PortalServer'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.arch' value='x86'/>
<data key='user.was.installLocation,com.ibm.websphere.PORTAL.SERVER.v80' value='/opt/IBM/WebSphere/AppServer'/>
<data key='user.profile.config.mode,com.ibm.websphere.PORTAL.SERVER.v80' value='standard'/>
<data key='user.wp.install.type,com.ibm.websphere.PORTAL.SERVER.v80' value='full'/>
<data key='user.iim.currentlocale,com.ibm.websphere.PORTAL.SERVER.v80' value='en'/>
<data key='user.wp.hostname,com.ibm.websphere.PORTAL.SERVER.v80' value='rhel6.uk.ibm.com'/>
<data key='user.wp.cellname,com.ibm.websphere.PORTAL.SERVER.v80' value='rhel6cell'/>
<data key='user.wp.nodename,com.ibm.websphere.PORTAL.SERVER.v80' value='rhel6node'/>
<data key='user.wp.userid,com.ibm.websphere.PORTAL.SERVER.v80' value='wpsadmin'/>
<data key='user.wp.password,com.ibm.websphere.PORTAL.SERVER.v80' value='4taxKp1Gj5q5aCi+LjSKHQ=='/>
<data key='user.wp.admin.port,com.ibm.websphere.PORTAL.SERVER.v80' value='10000'/>
<data key='user.wp.portal.port,com.ibm.websphere.PORTAL.SERVER.v80' value='10025'/>
<data key='user.was.forward.installLocation,com.ibm.websphere.PORTAL.SERVER.v80' value='/opt/IBM/WebSphere/AppServer'/>
<data key='user.wp.profilename,com.ibm.websphere.PORTAL.SERVER.v80' value='wp_profile'/>
<data key='user.common.installPath,com.ibm.websphere.PORTAL.SERVER.v80' value='/opt/IBM/WebSphere'/>
<data key='user.configengine.profileLocation,com.ibm.websphere.PORTAL.SERVER.v80' value='/opt/IBM/WebSphere/wp_profile/ConfigEngine'/>
<data key='user.configengine.binaryLocation,com.ibm.websphere.PORTAL.SERVER.v80' value='/opt/IBM/WebSphere/ConfigEngine'/>
<data key='user.configengine.forward.binaryLocation,com.ibm.websphere.PORTAL.SERVER.v80' value='/opt/IBM/WebSphere/ConfigEngine'/>
<data key='user.wp.profilepath,com.ibm.websphere.PORTAL.SERVER.v80' value='/opt/IBM/WebSphere/wp_profile'/>
<data key='user.wp.forward.profilepath,com.ibm.websphere.PORTAL.SERVER.v80' value='/opt/IBM/WebSphere/wp_profile'/>
<data key='user.was.uninstall.selected,com.ibm.websphere.PORTAL.SERVER.v80' value='false'/>
<data key='user.wp.uri.values.changed,com.ibm.websphere.PORTAL.SERVER.v80' value='false'/>
<data key='cic.selector.nl' value='en'/>
</profile>
<preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='/opt/IBM/WebSphere/IMShared'/>
<preference name='com.ibm.cic.common.core.preferences.connectTimeout' value='30'/>
<preference name='com.ibm.cic.common.core.preferences.readTimeout' value='45'/>
<preference name='com.ibm.cic.common.core.preferences.downloadAutoRetryCount' value='0'/>
<preference name='offering.service.repositories.areUsed' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.ssl.nonsecureMode' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.http.disablePreemptiveAuthentication' value='false'/>
<preference name='http.ntlm.auth.kind' value='NTLM'/>
<preference name='http.ntlm.auth.enableIntegrated.win32' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.preserveDownloadedArtifacts' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.keepFetchedFiles' value='false'/>
<preference name='PassportAdvantageIsEnabled' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.searchForUpdates' value='false'/>
<preference name='com.ibm.cic.agent.ui.displayInternalVersion' value='false'/>
<preference name='com.ibm.cic.common.sharedUI.showErrorLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showWarningLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showNoteLog' value='true'/>
</agent-input>

Note that the order of the repositories is important: -

<repository location='/mnt/hgfs/WP8/WAS'/>
<repository location='/mnt/hgfs/WP8/Portal'/>
<repository location='/mnt/hgfs/WP8/Enable'/>

I previously had this: -

<repository location='/mnt/hgfs/WP8/Enable'/>
<repository location='/mnt/hgfs/WP8/Portal'/>
<repository location='/mnt/hgfs/WP8/Setup/Repository'/>
<repository location='/mnt/hgfs/WP8/WAS'/>


but kept seeing this exception: -

<result>
<error uid="CRIMA1154E">
  Error installing.
</error>
<error>
  The silent installation process does not support installing packages that are contained on multiple media discs.</error>
</result>


After much faffing around, I looked at one of the provided sample response file - /mnt/hgfs/WP8/Setup/responsefiles/enable_standalone_full.xml. : -

    <!-- Fill in the locations of the WAS and Portal installation repositories -->
    <!-- that are accessible from the system where the install will be run.    -->
    <!-- You can fill in the repositories separately, or you may point to      -->
    <!-- a consolidated repository that defines all products.                  -->
    <!-- If using separate repositories, be sure to list them in this order:   -->
    <!--  repository location='/repository/path/for/WAS'                       -->
    <!--  repository location='/repository/path/for/WAS-fixes'                 -->
    <!--  repository location='/repository/path/for/Server Portal'             -->
    <!--  repository location='/repository/path/for/Enable Portal'             -->

Perform the installation

$ /opt/IBM/InstallationManager/eclipse/IBMIM -input install_WP8.rsp -log install_WP8.log -silent

Installed 8.0.0.3-WS-WAS-TFPM59935_8.0.3.20120309_1201 to the /opt/IBM/WebSphere/AppServer directory.
Installed 8.0.0.3-WS-WAS-TFPM60670_8.0.3.20120319_1949 to the /opt/IBM/WebSphere/AppServer directory.
Installed 8.0.0.3-WS-WAS-TFPM61934_8.0.3.20120409_1230 to the /opt/IBM/WebSphere/AppServer directory.
Installed 8.0.0.3-WS-WASProd-TFPM60134_8.0.3.20120312_1656 to the /opt/IBM/WebSphere/AppServer directory.
Installed com.ibm.websphere.ND.v80_8.0.3.20120320_0536 to the /opt/IBM/WebSphere/AppServer directory.
Installed com.ibm.websphere.PORTAL.SERVER.v80_8.0.0.20120421_0828 to the /opt/IBM/WebSphere/PortalServer directory.
Installed com.ibm.websphere.PORTAL.ENABLE.v80_8.0.0.20120421_0909 to the /opt/IBM/WebSphere/PortalServer directory.
WARNING: Problem at line 3, column 35: The "acceptLicense" attribute has been deprecated. Use "-acceptLicense" command line option to accept license agreements.


with the same warning repeated in install_WP8.log: -

<?xml version="1.0" encoding="UTF-8"?>
<result>
</result>
tail: install_WP8.log: file truncated
<?xml version="1.0" encoding="UTF-8"?>
<result>
<warning>
  Problem at line 3, column 35: The "acceptLicense" attribute has been deprecated. Use "-acceptLicense" command line option to accept license agreements.
</warning>
</result>


which is fine.

Next time around, I'll install like this: -

/opt/IBM/InstallationManager/eclipse/IBMIM -input install_WP8.rsp -log install_WP8.log -silent -acceptLicense

In the meantime, Portal is working perfectly, and the problem that I'd seen previously ( where the New... button doesn't appear in WCM ) has gone away.

For the record, the missing button was because I'd installed WebSphere Portal Server rather than Enable, meaning that WCM wasn't properly installed.

If anyone wants to know how I solved it, please let me know - I've got a PDF that walks through the process of adding WCM to an existing Portal Server installation.

Final point - unlike last time around the WPVersionInfo.sh command works perfectly.

For the record, this is what I now have: -

/opt/IBM/WebSphere/AppServer/bin/versionInfo.sh

Name                  IBM WebSphere Application Server Network Deployment
Version               8.0.0.3
ID                    ND
Build Level           cf031212.03
Build Date            3/20/12
Package               com.ibm.websphere.ND.v80_8.0.3.20120320_0536
Architecture          x86-64 (64 bit)
Installed Features    IBM 64-bit SDK for Java, Version 6
                      EJBDeploy tool for pre-EJB 3.0 modules
                      Embeddable EJB container
                      Stand-alone thin clients and resource adapters



/opt/IBM/WebSphere/PortalServer/bin/WPVersionInfo.sh

Name           IBM WebSphere Portal MultiPlatform
Version        8.0.0.0
ID             MP
Build Level    wp800_404_02 2012-04-21
Build Date     04/21/2012

Name           IBM Web Content Manager
Version        8.0.0.0
ID             WCM
Build Level    wp800_404_02 (8.0.0.0_build_24.274)
Build Date     04/21/2012

Name           IBM WebSphere Portal Configuration Framework
Version        8.0.0.0
ID             CFGFW
Build Level    wp800_404_01 2012-04-20
Build Date     04/20/2012

2 comments:

Dalia said...

Hi could you please share the PDF that walks through the process of adding WCM to an existing Portal Server installation.
I have the same issue with the WCM new button disappearing in the authoring portlet

Dave Hay said...

Sure, happy to

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...