Monday, 29 October 2012

WebSphere Application Server and Red Hat Enterprise Linux

In this post, I briefly mention how I was able, with assistance from an IBM Technote, overcome an issue with the installation of IBM WebSphere Application Server v7 on Red Hat Enterprise Linux 6.3.

In order to help a  colleague, I went through the process of installing WAS Network Deployment v7 on RHEL 6.3 ( x86-64 ) earlier today. From this, I created a set of slides that showed each step of the installation, and also made reference to the pre-requisites that I put in place beforehand.

I did see an issue with the installation, relating to the Launchpad application that one can use to commence the installation ( assuming that one doesn't go down the silent/response-file driven installation ).

When I attempted to start the Launchpad, I was presented with this message: -

Unable to find supported browser.
The launchpad cannot start. This error typically occurs when a supported browser cannot be found.

As ever, I Google'd this, and immediately found this IBM Technote: -


which said, in part: -

...
To get the Launchpad working in older versions, you need to edit the <install_root>/launchpad/browser.sh command so that it contains the following string in the supportedFirefoxVersion case statement:

*Firefox\ [1-9][0-9].*) return 0;;

The function should then look like this:

supportedFirefoxVersion()
{
       case "$*" in
               *Firefox\ [1-9].*) return 0;;
               *Firefox/[1-9].*) return 0;;
               *Firefox\ [1-9][0-9].*) return 0;;

 ...

As one might imagine, this worked a treat.

So, as a favour (!), here's the WHOLE script, with the amendment in place: -

#!/bin/sh
# Licensed Materials - Property of IBM
# 5648-F10 (C) Copyright International Business Machines Corp. 2005, 2007
# All Rights Reserved
# US Government Users Restricted Rights - Use, duplication or disclosure
# restricted by GSA ADP Schedule Contract with IBM Corp.

supportedMozillaVersion()
{
case "$*" in
*rv:1.[7-9]*) return 0;;
*rv:[2-9].[0-9]*) return 0;;
*rv:*) return 1;;
Mozilla\ 1.[7-9]*) return 0;;
Mozilla\ [2-9].[0-9]*) return 0;;
SeaMonkey\ 1.[0-9]*) return 0;;
SeaMonkey\ [2-9].[0-9]*) return 0;;
*) return 1;;
esac
}

supportedFirefoxVersion()
{
case "$*" in
*Firefox\ [1-9][0-9].*) return 0;;
*Firefox/[1-9].*) return 0;;
*Firefox*) return 1;;
*rv:1.[7-9]*) return 0;;
*rv:[2-9].*) return 0;;
*rv:*) return 1;;
Mozilla*\ 1.[7-9]*) return 0;;
Mozilla*\ [2-9].[0-9]*) return 0;;
*) return 1;;
esac
}

supportedSeaMonkeyVersion()
{
case "$*" in
SeaMonkey\ 1.[0-9]*) return 0;;
SeaMonkey\ [2-9].[0-9]*) return 0;;
*) return 1;;
esac
}

whichBrowser=NoBrowser

#If BROWSER isn't set, check LaunchPadDefaultBrowser
if [ -z "$BROWSER" -o "$LaunchPadTest" ]; then
if [ "$LaunchPadDefaultBrowser" ]; then
#First see if LaunchPadDefaultBrowser needs to be translated from one of the supported values
if [ $LaunchPadDefaultBrowser = "MozillaHTML" ]; then
LaunchPadDefaultBrowser=mozilla;
fi
if [ $LaunchPadDefaultBrowser = "Mozilla" ]; then
LaunchPadDefaultBrowser=mozilla;
fi
if [ $LaunchPadDefaultBrowser = "FirefoxHTML" ]; then
LaunchPadDefaultBrowser=firefox;
fi
if [ $LaunchPadDefaultBrowser = "Firefox" ]; then
LaunchPadDefaultBrowser=firefox;
fi
if [ $LaunchPadDefaultBrowser = "SeaMonkeyHTML" ]; then
LaunchPadDefaultBrowser=seamonkey;
fi
if [ $LaunchPadDefaultBrowser = "SeaMonkey" ]; then
LaunchPadDefaultBrowser=seamonkey;
fi
#Finally, set the browser
BROWSER=$LaunchPadDefaultBrowser; export BROWSER;
fi
fi

# Some versions of Eclipse are setting MOZILLA_FIVE_HOME to a location that does not have the scripts required to run mozilla -version, so we clear this variable when running from the tooling on Linux
if [ "$LaunchPadTest" ]; then
MOZILLA_FIVE_HOME=
export MOZILLA_FIVE_HOME
fi

if [ "$BROWSER" ]; then
if versionString=`("$BROWSER" -version) 2>/dev/null`; then
case "$versionString" in
*Firefox*) if supportedFirefoxVersion "$versionString"; then
whichBrowser=Firefox
fi ;;
*Mozilla*) if supportedMozillaVersion "$versionString"; then
whichBrowser=Mozilla
fi ;;
*SeaMonkey*)if supportedSeaMonkeyVersion "$versionString"; then
whichBrowser=SeaMonkey
fi ;;
esac
fi
fi

if [ $whichBrowser = NoBrowser ]; then
PATH="$PATH:/usr/X11R6/bin:/usr/local/bin:/usr/bin:/opt/seamonkey:/usr/seamonkey:/usr/sfw/lib/mozilla:/usr/local/seamonkey/";export PATH
if versionString=`(seamonkey -version) 2>/dev/null`; then
BROWSER=seamonkey; export BROWSER
if supportedSeaMonkeyVersion "$versionString"; then
whichBrowser=SeaMonkey
fi
fi
fi

if [ $whichBrowser = NoBrowser ]; then
PATH="$PATH:/usr/X11R6/bin:/usr/local/bin:/usr/bin:/opt/firefox:/usr/firefox:/usr/firefox/sfw/lib/firefox";export PATH
if versionString=`(firefox -version) 2>/dev/null`; then
BROWSER=firefox; export BROWSER
if supportedFirefoxVersion "$versionString"; then
whichBrowser=Firefox
fi
fi
fi

if [ $whichBrowser = NoBrowser ]; then
PATH="$PATH:/usr/X11R6/bin:/usr/local/bin:/usr/bin:/opt/mozilla:/usr/mozilla:/usr/sfw/lib/mozilla";export PATH
if versionString=`(mozilla -version) 2>/dev/null`; then
BROWSER=mozilla; export BROWSER
if supportedMozillaVersion "$versionString"; then
whichBrowser=Mozilla
fi
fi
fi

LaunchPadBrowserPath=$PATH; export LaunchPadBrowserPath
LaunchPadDefaultBrowser=$BROWSER; export LaunchPadDefaultBrowser
export whichBrowser
if [ "$LaunchPadTest" ]; then
    echo $LaunchPadBrowserPath
    echo $BROWSER
fi

I also saw the same issue after the installation, from the First Steps application. Again, this was a simple amendment ( identical to the above ) to a different script - fbrowser.sh - which is, again, referenced in another IBM Technote here: -


Hope this helps.

5 comments:

davidhc360 said...

Thank you very much. This has solved the issue for me :)

Dave Hay said...

@David - no worries, glad it helped :-)

Kalyan said...

Hi Dave,

I am facing the same issue, can you please share the slides you created.

gajendra.chaudhary10@gmail.com.

Thanks in advance.

Gajender Kumar

Dave Hay said...

Hi Kalyan, I've uploaded my deck to Slideshare here: -

http://www.slideshare.net/david_hay/installing-web-sphere-application-server-v7-on-red-hat-enterprise-linux-v63

Cheers, Dave

Kalyan said...

Hi Dave,

Thanks a lot !!

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="{...