Wednesday, September 19, 2012

Installing WebSphere Portal 7.0



INSTALL WEBSPHERE PORTAL 7.0

This documentation serves as a guide for installation of Websphere Portal 7.0. IBM website is also got good documentation on how to setup a WebSphere Portal cluster.

Step 1 Create a service account, this user account will be use for installing and configuring websphere portal.
 
Step 2.  Untar binaries file, under CZLL4ML directory, edit the installresponse.txt
o    Change the following entries
§  -silent
§  -G licenseAccepted="true"
§  -W welcome.entitlement="server"
§  -W setupTypePanel.selectedSetupTypeId="base"
§  -W globalInstall.location="/opt/app/appschic"
§  -W wasPanel.installChoice="install"
§  -W wasAdmin.user="wasadmin"
§  -W wasAdmin.password="---- whatever password ----"
§  -W nodeHost.nodeName="<host>"
§  -W nodeHost.hostName="<host>"
§  -W allServices.services="false"
§  -W detectProfileAction.isDefault="True"
§  -W detectProfileAction.profilePath="/opt/app/appschic/AppServer/profiles/wp_profile"

Step 3. Run the install command. 
            # ./install -options <path to installresponse.txt> -silent

You can validate if the installation is successful by navigating to /opt/app/appschic/AppServer/logs/install/log.txt

A successful install should say something like.....

(Mar 1, 2012 10:46:18 PM), Process, com.ibm.ws.install.ni.ismp.actions.SetExitCodeAction, msg1, CWUPI0000I: EXITCODE=0
(Mar 1, 2012 10:46:18 PM), Process, com.ibm.ws.install.ni.ismp.actions.ISMPLogSuccessMessageAction, msg1, INSTCONFSUCCESS
 
 
Step 4. Transfer Database to oracle on the primary node.  Follow documentation.


  •  Edit properties files accordingly. Seek help from the dba's when in doubt.
            /opt/app/appschic/AppServer/profiles/wp_profile/ConfigEngine/properties

o    wkplc_dbdomain.properties
o    wkplc_dbtype.properties
o    wkplc.properties
  •  Add /opt/app/appschic/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/appschic/AppServer/profiles/wp_profile/ConfigEngine/

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

The result is going to look like:
action-post-config:
Tue Feb 28 19:46:47 UTC 2012
     [echo] executing post-configuration tasks

BUILD SUCCESSFUL
Total time: 26 seconds
isIseries currently set to: null
uploading registry
Created admin client: com.ibm.ws.management.AdminClientImpl@37753775
Created config Service Proxy: com.ibm.websphere.management.configservice.ConfigServiceProxy@147b147b
CELL: node01
NODE: node01
Websphere:_Websphere_Config_Data_Type=Registry,_Websphere_Config_Data_Id=cells/node01|registry.xml#Registry_1329867899608,_WEBSPHERE_CONFIG_SESSION=anonymous1330458407406
  •  Transfer Database.
          cd /opt/app/appschic/AppServer/profiles/wp_profile/ConfigEngine

          ./ConfigEngine.sh database-transfer

The result will look like.
action-post-config:
Wed Feb 29 18:47:19 UTC 2012
     [echo] executing post-configuration tasks

BUILD SUCCESSFUL
Total time: 3 minutes 19 seconds
isIseries currently set to: null
uploading registry
CELL: node01
NODE: node01
Websphere:_Websphere_Config_Data_Type=Registry,_Websphere_Config_Data_Id=cells/node01|registry.xml#Registry_1329867899608,_WEBSPHERE_CONFIG_SESSION=anonymous1330541239781

Step 5.  Create profiles templates.

chmod -R u+rwx /opt/app/appschic/PortalServer

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

./ConfigEngine.sh enable-profiles

BUILD SUCCESSFUL
Total time: 1 minute 22 seconds
isIseries currently set to: null
uploading registry
CELL: node01
NODE: node01
Websphere:_Websphere_Config_Data_Type=Registry,_Websphere_Config_Data_Id=cells/node01|registry.xml#Registry_1329867899608,_WEBSPHERE_CONFIG_SESSION=anonymous1330547280153


./ConfigEngine.sh package-profiles

chmod -R u+rx /opt/app/appschic/PortalServer

Step 6.  Remove search collections on Linux.


Step 7. Connect primary node to dmgr.

--> Create profile for dmgr.

/opt/app/appschic/bin/manageprofiles.sh -create -templatePath /opt/app/appschic/AppServer/profileTemplates/management -hostName <host> -profileName dmgr -profilePath /opt/app/appschic/AppServer/profiles/dmgr_profile -nodeName dmgr-node -cellName cell01

Result:
INSTCONFSUCCESS: Success: Profile dmgr now exists. Please consult /opt/app/appschic/Dmgr/profiles/dmgr_profiles/logs/AboutThisProfile.txt for more information about this profile.

--> Run collect-files-for-dmgr

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

./ConfigEngine.sh collect-files-for-dmgr

--> Expand each of the files in the filesForDmgr.zip file into the proper location on the Deployment Manager based on the directory names within the zip file. The directory names in the zip file are based on the typical default directory names. The directory called "AppServer/profiles/Dmgr01" is used to identify the Deployment Manager profile root, and the "AppServer" directory is used to identify the Deployment Manager installation root directory. If the Deployment Manager was installed into the default directory (AppServer) and the profile was created in the default directory (AppServer/profiles/Dmgr01), then the zip file can be expanded directly into the directory above the AppServer directory; for example /IBM/WebSphere.

cd /opt/app/appschic/AppServer/bin/managedprofiles.sh -augment -templatePath /opt/app/appschic/AppServer/profileTemplates/management.portal.augment/ -profileName dmgr

Result:
INSTCONFSUCCESS: Profile augmentation succeeded.

--> Start dmgr.

cd /opt/app/appschic/AppServer/profiles/dmgr_profile/bin

./startManager.sh
ADMU0116I: Tool information is being logged in file
           /opt/app/appschic/AppServer/profiles/dmgr_profile/logs/dmgr/startServer.log
ADMU0128I: Starting tool with the dmgr profile
ADMU3100I: Reading configuration for server: dmgr
ADMU3200I: Server launched. Waiting for initialization status.
ADMU3000I: Server dmgr open for e-business; process id is 22368

-->  Access the dmgr console thru the browser.

https://<host>:9043/ibm/console

-->  Edit /opt/app/appschic/AppServer/profiles/wp_profile/PortalServer/jcr/lib/com/ibm/icm/icm.properties set jcr.textsearch.enabled to false

-->  Edit the wkplc.properties file. Before you run the addNode command.
Note: All servernames must be uppercase.

/opt/app/appschic/AppServer/bin/addNode.sh <host> 8879 -includeapps -includebuses -username appadmin -password <password>
ADMU0116I: Tool information is being logged in file
           /opt/app/appschic/AppServer/profiles/wp_profile/logs/addNode.log
ADMU0128I: Starting tool with the wp_profile profile
CWPKI0308I: Adding signer alias "root" to local keystore
           "ClientDefaultTrustStore" with the following SHA digest:
           C8:FA:4A:1F:EC:48:0B:3E:92:9B:24:85:19:3E:B3:29:EA:71:9C:52
CWPKI0308I: Adding signer alias "datapower" to local keystore
           "ClientDefaultTrustStore" with the following SHA digest:
           A9:BA:A4:B5:BC:26:2F:5D:2A:80:93:CA:BA:F4:31:05:F2:54:14:17
ADMU0001I: Begin federation of node node01 with Deployment Manager at
          <host>:8879.
ADMU0009I: Successfully connected to Deployment Manager Server:
           <host>:8879
ADMU0505I: Servers found in configuration:
ADMU0506I: Server name: WebSphere_Portal
ADMU0506I: Server name: server1
ADMU2010I: Stopping all server processes for node node01
ADMU0510I: Server WebSphere_Portal is now STOPPED
ADMU0512I: Server server1 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: WebSphereWSDM.ear will not be uploaded since it already exists in
           the target repository.
ADMU0120I: isclite.ear will not be uploaded since it already exists in the
           target repository.
ADMU0120I: isclite.ear will not be uploaded since it already exists in the
           target repository.
ADMU0014I: Adding node node01 configuration to cell: <host>
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:
           19602
ADMU0308I: The node node01 and associated applications were successfully added
           to the <host> cell.

Step 8.  Create a static cluster.

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

./ConfigEngine.sh cluster-node-config-post-federation

./ConfigEngine.sh wp-change-portal-admin-user -DnewAdminId=cn=admin,cn=Users,dc=stg,dc=chic,dc=ext -DnewAdminPw=<password> -DnewAdminGroupId=cn=wpsadmins,ou=Groups,dc=stg,dc=chic,dc=ext
Note: If the newAdminId has space you can add the variable to wkplc.properties towards the end of the file. Fill in the property.

./ConfigEngine.sh cluster-node-config-cluster-setup


Step 9.  Connect Portal to stand-alone LDAP for authentication.

--> Create an admin user in stg.chic.ext. User is called admin. This will be used for wasadmin and portal administration. 

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

./ConfigEngine.sh validate-standalone-ldap

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

Restart

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

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

Done w/ primary node.

Step 10.  Setup additional Node to the cluster. (node02)

-->  Copy the profileTemplates.zip file from the /opt/app/appschic/PortalServer/profileTemplates directory on the primary node to the same location on the additional cluster node.

cd /opt/app/appschic/PortalServer/profileTemplates

-->  Unzip the profileTemplates.zip in the node02

unzip profileTemplates.zip

chmod –R 755 /opt/app/appschic/PortalServer/profileTemplates

./installPortalTemplates.sh /opt/app/appschic/AppServer/

--> Make sure the wkplc.properties, wkplc_dbdomain.properties & wkplc_dbtype.properties match the one in primary node. Run configEngine.sh validate-database to validate properties.

/opt/app/appschic/AppServer/profiles/wp_profile/ConfigEngine/ConfigEngine.sh validate-database
  
-->  Edit wkplc.properties. Make sure the following properties reflect correctly.

WasRemoteHostName=<host>
WasSoapPort=8879
ServerName=WebSphere_Portal
ClusterName=portal_cluster               Note:must be same as primary
PrimaryNode=false

-->  Edit /opt/app/appschic/AppServer/profiles/wp_profile/PortalServer/jcr/lib/com/ibm/icm/icm.properties set jcr.textsearch.enabled to false

-->  Run the add node command

cd /opt/app/appschic/AppServer/bin

./addNode.sh <host01> 8879

./ConfigEngine.sh cluster-node-config-cluster-setup-additional

Step 11.  Configure additional server thru Admin console.

Ø  Open browser to go 
                  https://<host>:9043/ibm/console
            Username: admin
            Password: <password>
Ø  Click on WAS Cluster.



Ø  Cluster member.

Ø  Add or delete server in a particular node. 

Ø  You can delete WebSphere_Portal after you configured the additional servers. Make sure port numbers are in sync between nodes.
Ø  Optional Configuration is you want to change default name from WebSphere_Portal to any custom name https://www-304.ibm.com/support/docview.wss?uid=swg21370392

Step 12.  Install Update Install. Follow instruction at

            Ø  tar –zxvf 7.0.0.21-WS-UPDI-LinuxAMD64.tar.gz
Ø  vi UpdateInstaller/responsefile.updiinstaller.txt
-OPT silentInstallLicenseAcceptance="true"
-OPT installLocation="/opt/app/WP_UpdateInstaller"
-OPT allowNonRootSilentInstall="true"
-OPT disableOSPrereqChecking="true"
Ø  ./install -options responsefile.updiinstaller.txt -silent

Step 13.  Apply patch 7.0.0.21  (Note: This patch essential for OAM integration)

Ø  All Servers must be stopped before you can install any patch
Ø  vi /opt/app/WP_UpdateInstaller/responsefiles/install.txt
-W maintenance.package=/opt/app/binaries/patches/7.0.0-WS-WAS-LinuxX64-FP0000021.pak
-OPT disableNonBlockingPrereqChecking="true"
-W product.location="/opt/app/appschic/AppServer"
Ø  ./update.sh -options responsefiles/install.txt -silent

Executing command: /opt/app/WP_UpdateInstaller/java/jre/bin/java -cp /opt/app/WP_UpdateInstaller/update.jar -Xms48m -Xmx384m run -options responsefiles/install.txt –silent
Ø  Validate successful patch by running 
    $ /opt/app/appschic/AppServer/versionInfo.sh 
     
      Installed Product
--------------------------------------------------------------------------------
Name                     IBM WebSphere Application Server - ND
Version                  7.0.0.21
ID                       ND
Build Level              cf211150.04
Build Date               12/14/11
Architecture             AMD (64 bit)

Step 14.  Change URI context for pulse


Ø  Follow the following instruction accordingly.




Step 15.  Install WebSphere Portal upgrade to 7.0.0.2 (Note: This patch is essential for the OAM Integration). Please refer to the following documentation.

     --> Verify that all the information from  /opt/app/appschic/AppServer/profiles/wp_profile/ConfigEngine/properties/wkplc.properties, wkplc_comp.properties, wkplc_dbtypes.properties & wkplc_dbdomain.properties is correct. 
     
    --> Create the following directory <was_profile>/wp_profile/Portal/update; unpack the WebSphere Portal Update Installer file into this directory. The WP Update Installer can be found under http://www-01.ibm.com/support/docview.wss?rs=688&uid=swg24006942

     --> Create the <was_profile>/wp_profile/Portal/update/fixpack directory and drop the fixpack binaries (WP_PTF_7002.jar) there. You can find the 7.0.0.2 fixpack on this page.  http://www-933.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm/WebSphere&product=ibm/WebSphere/WebSphere+Portal&release=All&platform=All&function=fixId&fixids=7.0.0-WP-Multi-FP002&includeSupersedes=0

     -->Ensure the automatic Synchronization is disabled in all nodes to be upgraded.
  1.    In the administrative console for the deployment manager, select System administration > Node agents in the navigation tree.
  2.    Click nodeagent for the required node.
  3.    Click File Synchronization Service.
  4.    Uncheck the Automatic Synchronization check box on the File Synchronization Service page to disable the automatic synchronization feature and then click OK.
  5.    Repeat these steps for all other nodes to be upgraded.
  6.    Click Save to save the configuration changes to the master repository.
  7.    Select System administration > Nodes in the navigation tree
  8.    Select all nodes that are not synchronized, and click on Synchronize
  9.    Select System administration > Node agents in the navigation tree
  10.    For the primary node, select the nodeagent and click Restart
  11.    Select the nodeagents of all additional nodes and click Stop

  --> Perform the upgrade to the primary node first. Ensure all the active application servers are stopped before using the command. 

         # . /<was_install>/bin/setupCmdLine.sh 
         # <update_dir>/updatePortal.sh -install -installDir /opt/app/appschic/PortalServer -fixpack -fixpackDir /opt/app/appschic/AppServer/profiles/wp_profiles/PortalServer/update/fixpacks -fixpackID WP_PTF_7002

   --> After successful install, you should get the following message: 

Result: update-registry-sync-property:
Result: Thu Sep 20 17:13:03 UTC 2012
Result:      [echo] updated RegistrySynchronized in file wkplc.properties with value: true
Result: StdErr: [09/20/12 17:12:35.311 UTC] ssl.default.password.in.use.CWPKI0041W
Result: StdErr: [09/20/12 17:12:35.470 UTC] ssl.disable.url.hostname.verification.CWPKI0027I
Result: StdErr: [09/20/12 17:12:35.478 UTC] Client code attempting to load security configuration
Result: StdErr: [09/20/12 17:12:36.100 UTC] Client code attempting to load security configuration
Result: StdErr: [09/20/12 17:12:36.539 UTC] WSVR0801I
Log: ExecCmd::launch returns 0
Task 2 out of 3; End Installing fix pack 'WP_PTF_7002', component 'wp.ptf.config'.
Task 3 out of 3; Begin Completing fix pack 'WP_PTF_7002'
Task 3 out of 3; End Completing fix pack 'WP_PTF_7002'
subTmpDir to be cleaned up: /tmp/ptfs
Fix pack installation completed successfully.
chmod -R 550 /opt/app/appschic/PortalServer  done!
UpdateInstaller.puiReturnCode is 0
End of [ ./updatePortal.sh ]






You can validate a successful install by running the following command. 

     # /opt/app/appschic/PortalServer/bin/WPVersionInfo.sh

Result will look like this: 

Installed Product
--------------------------------------------------------------------------------
Name           IBM WebSphere Portal MultiPlatform
Version        7.0.0.2
ID             MP
Build Level    wp7002_132_01
Build Date     12/10/2011

Installed Product
--------------------------------------------------------------------------------
Name           IBM Lotus Web Content Management
Version        7.0.0.2
ID             WCM
Build Level    wp7002_132_01
Build Date     12/10/2011

Installed Product
--------------------------------------------------------------------------------
Name           IBM WebSphere Portal Configuration Framework
Version        7.0.0.2
ID             CFGFW
Build Level    wp7002_132_01 2011-12-10
Build Date     12/10/2011

--------------------------------------------------------------------------------
End Installation Status Report
--------------------------------------------------------------------------------
 

   
        
Errors Encountered:

      
Error 1:


    2012-09-19T22:25:51Z Result:   [wsadmin] ADMA5102I: The configuration data for WCM_EXTENSION from the configuration repository is deleted successfully.
2012-09-19T22:25:51Z Result:   [wsadmin] ADMA5011I: The cleanup of the temp directory for application WCM_EXTENSION is complete.
2012-09-19T22:25:51Z Result:   [wsadmin] ADMA5106I: Application WCM_EXTENSION uninstalled successfully.
2012-09-19T22:25:51Z Result:   [wsadmin] ADMA5011I: The cleanup of the temp directory for application WCM_EXTENSION is complete.
2012-09-19T22:25:51Z Result:   [wsadmin] ADMA5069E: The installation of application WCM_EXTENSION failed.  This application was in the middle of a full update and therefore is uninstalled from the configuration session.  Discard your current configuration session immediately to recover the application.  Do not save changes to the WebSphere Application Server configuration repository.  The application is not uninstalled from this repository.  Until the current configuration session is discarded you do not see this application in the current session.
2012-09-19T22:25:51Z Result:   [wsadmin] WASX7017E: Exception received while running file "/opt/app/appschic/AppServer/profiles/wp_profile/ConfigEngine/config/work/was/curJaclScript.jacl"; exception information: com.ibm.ws.scripting.ScriptingException: WASX7418E: Application update for WCM_EXTENSION failed: see previous messages for details.
2012-09-19T22:25:51Z Result:
2012-09-19T22:25:51Z Result:   [wsadmin] WASX7341W: No "save" was performed before the interactive scripting session exited; configuration changes will not be saved.
2012-09-19T22:25:51Z Result: /opt/app/appschic/AppServer/profiles/wp_profile/ConfigEngine/config/includes/apply_PTF.xml:59: Java returned: 105
2012-09-19T22:25:51Z Result:    at org.apache.tools.ant.taskdefs.Java.execute(Java.java:87)
2012-09-19T22:25:51Z Result:    at com.ibm.websphere.ant.tasks.WsAdmin.execute(WsAdmin.java:406)
2012-09-19T22:25:51Z Result:    at com.ibm.wplc.deploy.tasks.AbstractBaseWsAdminWrapperTask.executeTask(AbstractBaseWsAdminWrapperTask.java:290)
2


Resolution: 

      This is because the update was run as root and the file system is own by non-root user. You need to rerun the script using the service account you have created and use during the install.


Error 2: 

lServer/update/fixpack/ -fixpackID WP_PTF_7002
Start of [ ./updatePortal.sh ]
Build 20120524_0856

Verifying installer jar:
[ PortalUpdateInstaller.jar ]

Attempting to locate setupClient.sh

./updatePortal.sh: line 221: ulimit: open files: cannot modify limit: Operation not permitted
Could not set ulimit -n to 18192 or higher, upgrade needs to set ulimit -n to 18192 or higher.
Exiting.


Resolution: 

      sudo as root.
      Edit /etc/security/limit.conf

appadmin        soft    nproc   2047
appadmin        hard    nproc   16384
appadmin        soft    nofile  4096
appadmin        hard    nofile  65536
appadmin        soft    stack   10240




Error 3:

      Start of [ ./updatePortal.sh ]
Build 20120524_0856

Verifying installer jar:
[ PortalUpdateInstaller.jar ]

The WAS_HOME env variable MUST be set.
Exiting.


Resolution:

      run   #. /opt/app/pulse/AppServer/profiles/wp_profile/bin/setupCmdLine.sh

Error 4:

      2012-08-10T21:22:25Z Result: StdErr:
2012-08-10T21:22:25Z Result: StdErr: BUILD FAILED
2012-08-10T21:22:25Z Result: StdErr: /opt/appschic/PortalServer/installer/wp.config/config/includes/wp_ptf_7002.xml:35: The following error occurred while executing this line:
2012-08-10T21:22:25Z Result: StdErr: /opt/
appschic/PortalServer/installer/wp.config/config/includes/wp_ptf_7002.xml:206: The following error occurred while executing this line:
2012-08-10T21:22:25Z Result: StdErr: /opt/
appschic/PortalServer/installer/wp.config/config/includes/wp.config.fp_cfg.xml:26: /opt/appschic/PortalServer/license not found.
2012-08-10T21:22:25Z Result: StdErr:
2012-08-10T21:22:25Z Result: StdErr: Total time: 35 minutes 10 seconds
2012-08-10T21:22:25Z Error 112 -- Return code (1) differs from the expected code (0).
2012-08-10T21:22:25Z Input Jar File   : /tmp/ptfs/WP_PTF_7002/components/wp.ptf.config/update.jar
2012-08-10T21:22:25Z Target Directory : /opt/
appschic/PortalServer
2012-08-10T21:22:25Z Backup Jar File  : /opt/
appschic/PortalServer/version/backup/20120810_203914_WP_PTF_7002_wp.ptf.config_undo.jar
2012-08-10T21:22:25Z Warnings Issued  : 0
2


Resolution:

      Drop in the folder in /opt/appschic/PortalServer.


No comments:

Post a Comment