Wednesday, January 9, 2013

Installing WebSphere Portal Server 8.0 -- Primary Node in cluster environment


Requirements:

OS - Red Hat Enterprise Linux Server release 5.5 (Tikanga)



There are couple of new things about WebSphere Portal 8.0; for example, IBM’s installation manager (IIM). This tool is use to do any fix, installation and/or upgrade. Follow the documentation to install portal in your Linux platform.


Step 1: You can download the binaries   

Download WebSphere Portal binaries at IBM’s passport advantage website. 

WebSphere Portal 8.0

 -   IBM_WSA_SV_NW_DEP_V8.0.0.3_1OF3MPML.zip

 -    IBM_WSA_SV_NW_DEP_V8.0.0.3_2OF3MPML.zip

 -   IBM_WSA_SV_NW_DEP_V8.0.0.3_3OF3MPML.zip

 -   IBM_WS_P_AND_WCM_INSV8.0_1OF_7_MPML.zip

 -   IBM_WS_P_AND_WCM_INSV8.0_2OF_7_MPML.zip

 -   IBM_WS_P_AND_WCM_INSV8.0_3OF7_MPML.zip

 -   IBM_WS_P_AND_WCM_INSV8.0_4OF7_MPML.zip

 -   IBM_WS_P_AND_WCM_INSV8.0_5OF7_MPML.zip

 -   WP_ENABLE_SETUP_8.0_-1_OF_2-_MP_ML.zip

 -   WP_ENABLE_SETUP_8.0_-2_OF_2-_MP_ML.zip

        Expand them in your local server; this will explode folders namely,

 -   Setup/

 -   Portal/

 -   WAS/

 -   Enable/

WebSphere Portal Cumulative fix 03
                   -  8.0.0.0-WP-WCM-Combined-CFPM74094-Server-CF03.zip

IBM's Installation Manager (IIM) 
                         -   agent.installer.linux.gtk.x86_64_1.6.1000.20121109_1537.zip

http://www-947.ibm.com/support/entry/myportal/downloads/software/rational/ibm_installation_manager


Step 2: Install IIM and WebSphere Portal Binaries. 
  
-  unzip the agent.installer.linux.gtk.x86_64_1.6.1000.20121109_1537.zip
   [root@servername IIM]# ./installc -acceptLicense
    Installed com.ibm.cic.agent_1.6.1000.20121109_1537 to the /opt/IBM/InstallationManager/eclipse directory
-  If your server does not meet the pre-requisite standard for WP 8.0. Add the following to the configuration.

   vi /opt/IBM/InstallationManager/eclipse/configuration/config.ini
  #Add the following line
   disableOSPrereqChecking=true


       -  Go to <binaries>/Setup/responsefiles/

-          Edit enable_standalone_full_dmgr.xml. See example here. 

               http://appschic.blogspot.com/2013/01/ibm-websphere-portal-80-response-file.html



     Step 3:  Run the silent install as root.

/opt/IBM/InstallationManager/eclipse/tools/imcl –acceptLicense –input /opt/app/binaries/websphere/Setup/responsefiles/enable_standalone_full_dmgr.xml –log installportal.log
          

     Step 4:  Apply a cumulative fix 03 to WebSphere Portal.
     - Unzip 8.0.0.0-WP-WCM-Combined-CFPM74094-Server-CF03.zip
     - Edit WP8CFUpdate-Server-sample.xml

        <?xml version="1.0" encoding="UTF-8"?>
<agent-input>
<!-- Listing of repositories -->
<server>
    <repository location='/opt/app/binaries/fixes/PM74094/repository.config'/>
</server>
<!-- Listing of products and fixes to be installed -->
<install modify='false'>
    <offering id='com.ibm.websphere.PORTAL.SERVER.v80' profile='WebSphere PS V8' features='ce.install,portal.binary,portal.profile' installFixes='none'/>
</install>
<!-- Change all install paths to your actual values. The values shown are the defaults for iSeries -->
<profile id='WebSphere PS V8' installLocation='/opt/app/WebSphere/PortalServer'>
    <data key='eclipseLocation' value='/opt/app/WebSphere/PortalServer'/>
    <!-- Leave unchanged -->
    <data key='user.wp.server.update.required,com.ibm.websphere.PORTAL.SERVER.v80' value='true'/>
    <!-- If no Portal profile currently exists, change this setting to false -->
    <data key='user.wp.profile.update.required,com.ibm.websphere.PORTAL.SERVER.v80' value='true'/>
    <!-- Leave unchanged -->
    <data key='user.wp.skip.config,com.ibm.websphere.PORTAL.SERVER.v80' value='false'/>
    <!-- Leave unchanged -->
    <data key='user.upgrade.familyname,com.ibm.websphere.PORTAL.SERVER.v80' value='server'/>
    <!-- Specify your WAS administrator ID. -->
    <data key='user.wp.was.userid,com.ibm.websphere.PORTAL.SERVER.v80' value='wpsadmin'/>
    <!-- Specify your WAS administrator password.  This value should be in encrypted format. -->
    <data key='user.wp.was.password,com.ibm.websphere.PORTAL.SERVER.v80' value='4taxKp1Gj5q5aCi+LjSKHQ=='/>
    <!-- Specify your Portal administrator ID. -->
    <data key='user.wp.portal.userid,com.ibm.websphere.PORTAL.SERVER.v80' value='wpsadmin'/>
    <!-- Specify your Portal administrator password.  This value should be in encrypted format. -->
    <data key='user.wp.portal.password,com.ibm.websphere.PORTAL.SERVER.v80' value='4taxKp1Gj5q5aCi+LjSKHQ=='/>
    <!-- If this is a clustered Portal Server with a locally running Deployment manager, specify the Deployment manager's profile name. -->
    <data key='user.wp.dmgr.profilename,com.ibm.websphere.PORTAL.SERVER.v80' value='dmgr_profile'/>
</profile>
<!-- Change eclipseCache to your actual value.  The value shown is the recommended one. -->
<preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='/opt/IBM/InstallationManager/IMShared'/>
<!-- Leave everything below here unchanged -->
<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.common.core.preferences.import.enabled' value='true'/>
<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>


- Run the silent upgrade to WebSphere Portal as root. 
 
/opt/IBM/InstallationManager/eclipse/tools/imcl –acceptLicense –input /opt/app/binaries/websphere/fixes/WP8CFUpdate-Server-sample.xml –log upgradeportal.log
 
Step 5:  Move the WebSphere Portal meta-database to Oracle. 

      - WebSphere have 6 meta-databases; each one has its own function. Refer to ibm infocenter for more information. I choose to move all the 6 database to an oracle RAC environment for highly available configuration. By default, the websphere portal database is in derby.
  
release
jcr
feedback
likeminds
community
customization
       
      http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Linux_clustered_server_Modifying_Oracle_or_Oracle_RAC_database_properties_wp8

Edit properties files accordingly. Seek help from the dba's when in doubt.

       /opt/app/WebSphere/AppServer/profiles/wp_profile/ConfigEngine/properties


o    wkplc_dbdomain.properties

o    wkplc_dbtype.properties

o    wkplc.properties

 Add /opt/app/WebSphere/AppServer/lib/jdbc/ojdbc6.jar to the server path. (ojdbc6.jar is the oracle driver)

Create users and tablespaces. You can opt to run this automatically using 
 
         ./ConfigEngine.sh setup-database

  cd  /opt/app/WebSphere/AppServer/profiles/wp_profile/ConfigEngine/

  Edit properties/wkplc.properties

 ./ConfigEngine.sh validate-database -DWasPassword=password

       Step 6:  Start Deployment Manager

       - Deployment manager should be part of the installation above depending on which xml file you use for installation. 
      
         /opt/app/WebSphere/AppServer/profiles/dmgr_profile/bin/startManager.sh
     
        Step 7:  Add node01 to the deployment manager

'     -  Edit /opt/app/WebSphere/AppServer/profiles/wp_profile/ConfigEngine/properties/wkplc.properties. Ensure that you set WasUserid and WasPassword to the Deployment Manager userid and password

cd /opt/app/WebSphere/AppServer/profiles/wp_profile/bin/
[servername bin]$ ./addNode.sh localhost 8879 -includeapps -username wpsadmin -password wpsadmin

ADMU0116I: Tool information is being logged in file

/opt/app/WebSphere/AppServer/profiles/wp_profile/logs/addNode.log

ADMU0128I: Starting tool with the wp_profile profile

CWPKI0308I: Adding signer alias "CN=localhost" to local

           keystore "ClientDefaultTrustStore" with the following SHA digest:

           73:96:04:6C:4B:A6:12:51:4A:D7:0E:DF:8A:A4:3D:82:C0:20:51:A2
CWPKI0309I: All signers from remote keystore already exist in local keystore.
ADMU0001I: Begin federation of node node01 with Deployment Manager at localhost:8879.
ADMU0009I: Successfully connected to Deployment Manager Server:localhost:8879
ADMU0505I: Servers found in configuration:
ADMU0506I: Server name: WebSphere_Portal
ADMU2010I: Stopping all server processes for node node01
ADMU0512I: Server WebSphere_Portal cannot be reached. It appears to be stopped.
ADMU0024I: Deleting the old backup directory.
ADMU0015I: Backing up the original cell repository.
ADMU0012I: Creating Node Agent configuration for node: node01
ADMU0120I: isclite.ear will not be uploaded since it already exists in the target repository.
ADMU0014I: Adding node node01 configuration to cell: cellDmgr01
ADMU0120I: WebSphereWSDM on CU will not be uploaded since it already exists in the target repository.
ADMU0120I: isclite on CU will not be uploaded since it already exists in the target repository.
ADMU0120I: WebSphereWSDM on BLA will not be uploaded since it already exists in the target repository.
ADMU0120I: isclite on BLA will not be uploaded since it already exists in the target repository.
ADMU0016I: Synchronizing configuration between node and cell.
ADMU0018I: Launching Node Agent process for node: node01
ADMU0020I: Reading configuration for Node Agent process: nodeagent
ADMU0022I: Node Agent launched. Waiting for initialization status.
ADMU0030I: Node Agent initialization completed successfully. Process id is:        8481
ADMU0308I: The node node01 and associated applications were successfully added to the cellDmgr01 cell.
ADMU0306I: Note:
ADMU0302I: Any cell-level documents from the standalone cellDmgr01
           configuration have not been migrated to the new cell.
 
- Run the post-cluster configuration 
                       cd /opt/app/WebSphere/AppServer/profiles/wp_profiles/ConfigEngine

 
           [servername ConfigEngine]$ ./ConfigEngine.sh cluster-node-config-post-federation -DWasPassword=<password>



    - After successful configuration above, login to the deployment manager and add wpsadmin to the admin group. 




     

     - Restart WebSphere_Portal and run  cluster-node-config-cluster-setup

       cd /opt/app/WebSphere/AppServer/profiles/wp_profiles/ConfigEngine
  [servername ConfigEngine]$ ./ConfigEngine.sh cluster-node-config-cluster-setup

        Step 8:  Configure portal to connect to AD for security

      - Edit /opt/app/WebSphere/AppServer/profiles/wp_profile/ConfigEngine/properties/wkplc.properties

     - Follow the documentation to make sure you have you filled out the right parameter. 


     - Run validation

         cd /opt/app/WebSphere/AppServer/profiles/wp_profile/ConfigEngine
    
  ./ConfigEngine.sh validate-standalone-ldap 

    ./ConfigEngine.sh wp-modify-ldap-security  

    Restart WebSphere_Portal, node, and Deployment manager. 

    ./ConfigEngine.sh wp-validate-standalone-ldap-attribute-config 

  - Make sure all the three scripts above run successfully. Run memberfixer script.

    ./ConfigEngine.sh run-wcm-admin-task-member-fixer -DallLibraries=true -Dfix=true -DaltDn=update -DmismatchedId=update -DinvalidDn=update -DnoRealmDn=true -DPortalAdminPwd=<password>