Portal v8.0 Install example
- Set file limits
- Install IBM Installation Manager 1.7.3
- Configure portal to use Oracle
- Create profile template
- Configure dmgr
- Federate primary node
- Create static cluster
- Install IHS
- Configure web server plugin
- IHS administration
- Configure portal to use LDAP
- Set wasadmins permissions
- Set ibm-allGroups
- Web Content View preferences
- Configure theme
- Customize IHS config
- On web server hosts, create directory...
- Configure network domains
- Syndication
- Export and import WCM libs
- Set permissions for web content
- Export/Import pages
- WebDAV
- Restart and sync
- Web server authentication
- Script to install Portal FP1
- Set up IHS SSL
- Create profile on secondary node
Set file limits
- As user root, edit...
/etc/security/limits.conf
...and set...
wasadmin soft nofile 200000
wasadmin hard nofile 200000
Install IBM Installation Manager 1.7.3
- Edit the response file...
sudo mkdir /opt/IBM
sudo chown wasadmin.wasadmin /opt/IBM
sudo su - wasadmin
cd /opt/shared_disk/migration/IIM_1.7.3
cp install.xml install.xml.orig
vi install.xml...and change...
<offering features='agent_core,agent_jre' id='com.ibm.cic.agent' version='1.7.3000.20140521_1925'/>...to...
<offering profile='IBM Installation Manager' features='agent_core,agent_jre' id='com.ibm.cic.agent' version='1.7.3000.20140521_1925'/>
- Add the following
<profile kind='self' installLocation='/opt/IBM/InstallationManager/eclipse' id='IBM Installation Manager'> <data key='eclipseLocation' value='/opt/IBM/InstallationManager/eclipse'/> </profile>Your install.xml should look like...
<?xml version="1.0" encoding="UTF-8"?> <agent-input clean='true' temporary='true'> <server> <repository location='.'/> </server> <install> <offering profile='IBM Installation Manager' features='agent_core,agent_jre' id='com.ibm.cic.agent' version='1.7.3000.20140521_1925'/> </install> <profile kind='self' installLocation='/opt/IBM/InstallationManager/eclipse' id='IBM Installation Manager'> <data key='eclipseLocation' value='/opt/IBM/InstallationManager/eclipse'/> </profile> </agent-input>- Install Installation Manager...
$ ./userinstc -log /tmp/IIM_install.log -acceptLicense
Installed com.ibm.cic.agent_1.7.3000.20140521_1925 to the /opt/IBM/InstallationManager/eclipse directory.- Install WAS 8.5.5.3 JDK 7.0.6 WP 8.0.0.1
$ cd /opt/IBM/InstallationManager/eclipse/tools $ ./imcl -acceptLicense -input /opt/shared_disk/migration/ResponseFiles/WP8001WAS8553JDK706.rsp \ -log /tmp/WP8001WAS8553JDK706.log \ -silent \ -nosplash Installed com.ibm.websphere.ND.v85_8.5.5003.20140730_1249 to the /opt/IBM/WebSphere/AppServer directory. Installed com.ibm.websphere.IBMJAVA.v70_7.0.6001.20140324_2202 to the /opt/IBM/WebSphere/AppServer directory. Installed com.ibm.websphere.PORTAL.SERVER.v80_8.0.1.20130123_1736 to the /opt/IBM/WebSphere/PortalServer directory.IBM JDK 7.1 was shipped and can be used with version WAS v8.5. With version 8.5 of Digital Experience during install WebSphere Application Server 8.5.5.x and JDK 7.0.0.x are deployed as prerequisites for Digital Experience. Starting with WebSphere Application Server 8.5.5.2 Java 7.1.0.x was provided with the Application Server fix pack. We have functionally tested 7.1.0.x and also performance tested it and saw a very slight improvement. v7.1.0.x can be installed via the Installation Manager. After installing the JDK the command managesdk can be leveraged to switch the JDK used with the Digital Experience profile to 7.1.
- Install WebSphere Portal Enable 8.0.0.1 CF13
$ cd /opt/IBM/InstallationManager/eclipse/tools $ ./imcl -acceptLicense \ -input /opt/shared_disk/migration/ResponseFiles/WP8001CF13.rsp \ -log /tmp/WP8001CF13.log \ -silent \ -nosplash Updated to com.ibm.websphere.PORTAL.SERVER.v80_8.0.1.20140723_2237 in the /opt/IBM/WebSphere/PortalServer directory.- Update Portal with CF14
- Edit...
/opt/IBM/WebSphere/profiles/wp_profile/ConfigEngine/properties/wkplc.properties
...and set...
WasPassword=mypass
PortalAdminPwd=mypassEdit...
/opt/IBM/WebSphere/profiles/wp_profile/properties/soap.client.props
..and set...
com.ibm.SOAP.loginUserid=wsadmin
com.ibm.SOAP.loginPassword=mypass- Edit...
/opt/IBM/WebSphere/PortalServer/wps.properties
...and remove the following 2 lines...
ProfileName=wp_profile
ProfileDirectory=/opt/IBM/WebSphere/profiles/wp_profile- Edit...
/opt/IBM/InstallationManager/eclipse/configuration/config.ini
...and add...
WP_UPDATE_SKIP_CONFIG=true
- Install CF14
$ cd /opt/IBM/WebSphere/profiles/wp_profile/bin $ ./stopServer.sh WebSphere_Portal -user wasadmin -password mypassword $ cd /opt/IBM/InstallationManager/eclipse/tools $ ./imcl -acceptLicense \ -input /opt/shared_disk/migration/ResponseFiles/WP8001CF14.rsp \ -log /tmp/WP8001CF14_DMGR_PORTAL_PROFILE.log \ -silent \ -nosplash Updated to com.ibm.websphere.PORTAL.SERVER.v80_8.0.1.20140723_2237 in the /opt/IBM/WebSphere/PortalServer directory. WARNING: WP_UPDATE_SKIP_CONFIG is set to true. After exiting Installation Manager, configure your profiles manually to complete the upgrade or rollback.
- Edit...
/opt/IBM/WebSphere/PortalServer/wps.properties
...and add the following 2 lines...
ProfileName=wp_profile
ProfileDirectory=/opt/IBM/WebSphere/profiles/wp_profile- Edit...
/opt/IBM/InstallationManager/eclipse/configuration/config.ini
...and remove the following line...
WP_UPDATE_SKIP_CONFIG=true
- Install PTF
cd /opt/IBM/WebSphere/profiles/wp_profile/ConfigEngine/
./ConfigEngine.sh CONFIG-WP-PTF-CF -DWasPassword=mypassword -DPortalAdminPwd=mypassword
Configure portal to use Oracle
- Back up system
- Log on to the primary node and stop portal...
cd /opt/IBM/WebSphere/profiles/profilename/bin
./stopServer.sh -username wasadmin -password password- Backup original properties files
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine/properties
cp wkplc.properties wkplc.properties.orig
cp wkplc_comp.properties wkplc_comp.properties.orig
cp wkplc_dbdomain.properties wkplc_dbdomain.properties.orig
cp wkplc_dbtype.properties wkplc_dbtype.properties.orig
cp wkplc_sourceDb.properties wkplc_sourceDb.properties.orig- Edit wkplc.properties and set...
WasPassword=MyPassword
PortalAdminPwd=MyPassword
PWordDelete=false- Edit wkplc_dbtype.properties and set
oracle.DbDriver=com.ibm.oracle.jcc.OracleDriver
oracle.DbLibrary=/opt/IBM/WebSphere/PortalServer/oracledrivers/oraclejcc4.jar:/opt/IBM/WebSphere/PortalServer/oracledrivers/oraclejcc_license_cu.jar- Set properties in wkplc_dbdomain.properties.
For example...
feedback.DbUrl=jdbc:oracle://qa.myco.com:60000/FDBKDB:returnAlias=0;
likeminds.DbUrl=jdbc:oracle://qa.myco.com:60000/LMDB:returnAlias=0;
release.DbUrl=jdbc:oracle://qa.myco.com:60000/RELDB:returnAlias=0;
community.DbUrl=jdbc:oracle://qa.myco.com:60000/COMDB:returnAlias=0;
customization.DbUrl=jdbc:oracle://qa.myco.com:60000/CUSDB:returnAlias=0;
jcr.DbUrl=jdbc:oracle://qa.myco.com:60000/JCRDB:returnAlias=0;
feedback.DbName=FDBKDB
likeminds.DbName=LMDB
release.DbName=RELDB
community.DbName=COMDB
customization.DbName=CUSDB
jcr.DbName=JCRDB
feedback.DbType=oracle
likeminds.DbType=oracle
release.DbType=oracle
community.DbType=oracle
customization.DbType=oracle
jcr.DbType=oracle
feedback.DataSourceName=wpdbDS_feedback
likeminds.DataSourceName=wpdbDS_likeminds
release.DataSourceName=wpdbDS_release
community.DataSourceName=wpdbDS_community
customization.DataSourceName=wpdbDS_customization
jcr.DataSourceName=wpdbDS_jcr
feedback.DbSchema=FEEDBACK
likeminds.DbSchema=likeminds
release.DbSchema=release
community.DbSchema=community
customization.DbSchema=customization
jcr.DbSchema=jcr
feedback.DbUser=oracleinst
likeminds.DbUser=oracleinst
release.DbUser=oracleinst
community.DbUser=oracleinst
customization.DbUser=oracleinst
jcr.DbUser=oracleinst
feedback.DbPassword=password
likeminds.DbPassword=password
release.DbPassword=password
community.DbPassword=password
customization.DbPassword=password
jcr.DbPassword=password
- Double-check settings for accuracy
for i in `echo feedback.DbUrl likeminds.DbUrl release.DbUrl community.DbUrl customization.DbUrl jcr.DbUrl feedback.DbName likeminds.DbName release.DbName community.DbName customization.DbName jcr.DbName feedback.DbType likeminds.DbType release.DbType community.DbType customization.DbType jcr.DbType feedback.DataSourceName likeminds.DataSourceName release.DataSourceName community.DataSourceName customization.DataSourceName jcr.DataSourceName feedback.DbSchema likeminds.DbSchema release.DbSchema community.DbSchema customization.DbSchema jcr.DbSchema feedback.DbUser likeminds.DbUser release.DbUser community.DbUser customization.DbUser jcr.DbUser feedback.DbPassword likeminds.DbPassword release.DbPassword community.DbPassword customization.DbPassword jcr.DbPassword feedback.DbRuntimeUser likeminds.DbRuntimeUser release.DbRuntimeUser community.DbRuntimeUser customization.DbRuntimeUser jcr.DbRuntimeUser feedback.DbRuntimeUser likeminds.DbRuntimeUser release.DbRuntimeUser community.DbRuntimeUser customization.DbRuntimeUser jcr.DbRuntimeUser`
do
grep ^${i} wkplc_dbdomain.properties | grep -v Zos
done- Verify there are no trailing spaces
grep " $" wkplc_dbdomain.properties
- Validate database configuration properties...
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine
./ConfigEngine.sh validate-database -DWasPassword=mypassword
- Stop the WebSphere_Portal server:
cd /opt/IBM/WebSphere/profiles/profilename/bin
./stopServer.sh WebSphere_Portal -username wasadmin -password mypassword
- Transfer the database:
Do not execute the database-transfer task as a background process. This might cause the task to stall.
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine
./ConfigEngine.sh database-transfer -DWasPassword=mypasswordWhen complete, we should get success message...
BUILD SUCCESSFUL
Tue May 13 23:02:21 EDT 2014If task fails, review log output...
/opt/IBM/WebSphere/profiles/profilename/ConfigEngine/log/ConfigTrace.log
...verify the values are correct in wkplc.properties, wkplc_dbdomain.properties, and wkplc_dbtype.properties files, then repeat this step.
If task fails with error...
Oracle SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=ICMSFQ04
...run...
./ConfigEngine.sh setup-database
...then try the database-transfer task again.
- Start the WebSphere Portal server.
cd /opt/IBM/WebSphere/profiles/profilename/bin
./startServer.sh WebSphere_Portal
- If node is part of a cluster, and if icm.properties is not identical between nodes, copy icm.properties from primary node to each secondary node.
- Stop the portal server on the secondary nodes.
- From the primary node...
cd /opt/IBM/WebSphere/profiles/profilename/PortalServer/jcr/lib/com/ibm/icm/
scp icm.properties wasadmin@secondary_node:/opt/IBM/WebSphere/profiles/profilename/PortalServer/jcr/lib/com/ibm/icm/
- Start the portal server on the secondary nodes.
Create profile template
In this section, we will create a backup of the primary node's wp_profile. We will also enable the Portal profile templates within the WebSphere Application Server Profile Management tool. This will allow us to create new Portal profiles in the future.
- Start the WebSphere_Portal server...
cd /opt/IBM/WebSphere/profiles/profilename/bin
./startServer.sh WebSphere_Portal- Log in to the WebSphere Portal server and go to...
Administration | Search Administration | Manage Search | Search Collections
- Click the Delete icon (trash can) for each search collection listed here.
- Log out of WebSphere Portal
- Stop the WebSphere_Portal server
cd /opt/IBM/WebSphere/profiles/profilename/bin
./stopServer.sh WebSphere_Portal -user wasadmin -password mypassword- Edit...
/opt/IBM/WebSphere/profiles/profilename/PortalServer/jcr/lib/com/ibm/icm/icm.properties
...and change...
jcr.textsearch.enabled=true
...to...
jcr.textsearch.enabled=false
- Save icm.properties.
- From primary node, run...
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine
./ConfigEngine.sh enable-profiles -DWasPassword=mypasswordThis script will create a backup of your wp_profile configuration named Portal.car and save it to the following directory:
/opt/IBM/WebSphere/PortalServer/profileTemplates/default.portal/configArchives/Portal.car
- Package profile templates into a single zip file:
./ConfigEngine.sh package-profiles -DWasPassword=mypassword
The following file is created...
/opt/IBM/WebSphere/PortalServer/profileTemplates/profileTemplates.zip
Configure dmgr
Before executing, review WP v8 Cluster Guide
- From the primary Portal node, copy fileForDmgr to dmgr host...
cd /opt/IBM/WebSphere/PortalServer/
scp -r filesForDmgr mpareene@dmgr.myco.com:/tmp- Important: Stop the dmgr server
cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
./stopManager.sh -user wasadmin -password foo!
- From the dmgr host, extract filesForDmgr.zip and copy files into place...
cd /tmp/filesForDmgr
unzip filesForDmgr.zip
mkdir /opt/IBM/WebSphere/AppServer/bin/ProfileManagement/plugins
cp -r bin/ProfileManagement/plugins/com.ibm.wp.dmgr.pmt_7.0.5 /opt/IBM/WebSphere/AppServer/bin/ProfileManagement/plugins
cp lib/wkplc.comp.registry.jar /opt/IBM/WebSphere/AppServer/lib
cp lib/wp.wire.jar /opt/IBM/WebSphere/AppServer/lib
cp plugins/com.ibm.patch.was.plugin.jar /opt/IBM/WebSphere/AppServer/plugins
cp plugins/com.ibm.wp.was.plugin.jar /opt/IBM/WebSphere/AppServer/plugins
cp -r profileTemplates/management.portal.augment /opt/IBM/WebSphere/AppServer/profileTemplates
cp profiles/Dmgr01/config/.repository/metadata_wkplc.xml /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/.repository- On dmgr host, augment dmgr profile.
cd /opt/IBM/WebSphere/AppServer/bin ./manageprofiles.sh -augment \ -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/management.portal.augment \ -profileName Dmgr01Augmenting the dmgr profile...
- Increases the HTTP connection timeouts for the DMGR server
- Increases the SOAP connector timeout for JMX in the DMGR server
- Increases the JVM Maximum Heap size for the DMGR server
- Enables Application Security
- Creates a 'wasadmins' group in the default file repository
- Adds your administrative user to the 'wasadmins' group.
- Increases the soap timeout in soap.client.props.
- Start Dmgr
cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
./startManager.sh
- Open dmgr console in browser. For example
https://dmgr.myco.com:10043/ibm/console/
- To help prevent user ID conflicts when we add the federated LDAP later, go to...
Security | Global Security | User Account Repository | Available realm definitions | Configure
..and in the 'Primary administrative user name' field, change value to the fully distinguished name of the user...
uid=wasadmin,o=defaultWIMFileBasedRealm
- Click Apply, enter passwords in the next panel, then click OK and Save.
- Restart the deployment manager for the changes to take effect.
Federate primary node
- Verify the time on the primary node is within 5 minutes of the time on the DMGR. Failure to do so will cause the addNode process to fail.
- Start the DMGR
cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
./startManager.sh- Stop WebSphere_Portal on the primary node...
cd /opt/IBM/WebSphere/profiles/profilename/bin
./stopServer.sh WebSphere_Portal -user wasadmin -password mypassword- Add the Portal node.
cd /opt/IBM/WebSphere/profiles/profilename/bin
./addNode.sh dmgr.myco.com 8879 -username wasadmin -password mypass -includeappsTo get SOAP port, from dmgr console...
System Administration | Deployment Manager | Ports
If the addNode script fails for any reason, complete the following steps before running again:
- Remove the node from the DMGR cell in case AddNode successfully completed that step before failing.
- Login to the DMGR and do the following (these may not exist, depending on where the failure occurred):
- Remove all Enterprise applications
- Remove the WebSphere_Portal server definition
- Remove the JDBC Provider information for WebSphere_Portal
- Restart the deployment manager
cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
./stopManager.sh -user wasadmin -password mypassword
./startManager.shAt this point, the WebSphere Portal server has been federated to the Deployment Manager. It is not yet in a cluster. It has also inherited the Deployment Manager's security configuration. Running Portal in a federated-only environment is not officially supported by IBM, so next we must build a cluster.
Create static cluster
- Log on to primary node and stop the WebSphere_Portal server
- Verify dmgr and node agent are running
./serverStatus.sh dmgr -user wasadmin -password mypassword
./serverStatus.sh nodeagent -user wasadmin -password mypassword- Set environment-specific values in...
/opt/IBM/WebSphere/profiles/profilename/ConfigEngine/properties/wkplc.properties
WasUserid uid=wasadmin,o=defaultWIMFileBasedRealm WasPassword mypassword WasSoapPort Port used to connect remotely to the dmgr. Default 8879. To discover, from dmgr console: System Administration > Deployment manager > Ports
WasRemoteHostName For example, dmgr.myco.com PortalAdminPwd password ClusterName MyCluster PrimaryNode true - Verify database user IDs and passwords are set in...
/opt/IBM/WebSphere/profiles/profilename/ConfigEngine/properties/wkplc_dbdomain.properties
- Update the deployment manager configuration for the new WebSphere Portal server
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine
./ConfigEngine.sh cluster-node-config-post-federation -DWasPassword=mypassword- Create the cluster definition and add the WebSphere_Portal server as a cluster member
./ConfigEngine.sh cluster-node-config-cluster-setup -DWasPassword=mypassword
- Open dmgr and verify cluster...
- Verify ports for new cluster member...
Servers | Server Types | WebSphere Application Servers | new_cluster_member | Ports
Note value WC_defaulthost which should be 10039.
- Make tarball backup
Install IHS
- Log on web server host(s)
For example...
- brandbweb1
- brandbweb2
- Install Installation Manager
cd /media/installmgr
./installc -acceptLicense
cd /opt/IBM/InstallationManager/eclipse- Add IHS to repository
- Start Installation Manager in console mode...
cd /opt/IBM/InstallationManager/eclipse/tools
./imcl -c- Select...
P. Preferences | 1. Repositories | D. Add Repository
- For repository location...
/media/WAS855_supp/repository.config
- Save changes and exit...
A. Apply changes | R. Return to main menu | X. Exit Installation Manager
- Confirm repository is available...
cd /opt/IBM/InstallationManager/eclipse/tools
./imcl listAvailablePackages -repositories /media/WAS855_supp/repository.config
com.ibm.websphere.APPCLIENT.v85_8.5.5000.20130514_1044
com.ibm.websphere.IHS.v85_8.5.5000.20130514_1044
com.ibm.websphere.PLG.v85_8.5.5000.20130514_1044
com.ibm.websphere.PLUGCLIENT.v85_8.5.5000.20130514_1044
com.ibm.websphere.WCT.v85_8.5.5000.20130514_1044- Install IHS
./imcl install com.ibm.websphere.IHS.v85_8.5.5000.20130514_1044 \ -repositories /media/WAS855_supp/repository.config \ -installationDirectory /opt/IBM/WebSphere/IHS \ -sharedResourcesDirectory /opt/IBM/WebSphere/IMShared \ -log /tmp/imcl.log \ -acceptLicense \ -properties user.ihs.httpPort=7001- Edit...
/opt/IBM/WebSphere/IHS/conf/admin.conf
...and set...
Listen 8008
User wasadmin
Group staff
ServerName myserver:8008- Edit...
/opt/IBM/WebSphere/IHS/conf/httpd.conf
...and for TST, PRD, and PRDHA, set...
Listen 7001
ServerName myserverFor DEV, set....
Listen 80
ServerName myserverFor all envs except DEV, we start IHS (apachectl start), as user wasadmin. For DEV, we start IHS as user root, even though User in httpd.conf is wasadmin
- Verify IHS version info
/opt/IBM/WebSphere/IHS/bin/versionInfo.sh
- Install plugins
cd /opt/IBM/InstallationManager/eclipse/tools ./imcl install com.ibm.websphere.PLG.v85_8.5.5000.20130514_1044 \ -repositories /media/WAS855_supp/repository.config \ -installationDirectory /opt/IBM/WebSphere/Plugins \ -sharedResourcesDirectory /opt/IBM/WebSphere/IMShared \ -log /tmp/imcl.log \ -acceptLicenseTo uninstall...
imcl uninstallAll -installationDirectory /opt/IBM/WebSphere/IHS/Plugins
- Verify plugins version info
/opt/IBM/WebSphere/Plugins/bin/versionInfo.sh
- Update both IHS and Plugin to v8.5.5.1
- Add the following to the Installation Manager repository
/media/WAS855_supp_FP1/repository.config
/media/WAS855_supp_WCT_FP1/repository.config- Unselect...
S. [ ] Search service repositories during installation and updates
- Start GUI Installation Manager
cd /opt/IBM/InstallationManager/eclipse/
./IBMIM- Select Update, select IBM HTTP Server v8.5, then execute upgrade.
- Do the same for Web Server Plug-ins for IBM WebSphere Application Server v8.5
- Start web and admin servers
/opt/IBM/WebSphere/IHS/bin/apachectl start
/opt/IBM/WebSphere/IHS/bin/adminctl start
ps -ef | grep httpWe should see...
root 9633990 1 0 09:14:09 - 0:00 /opt/IBM/WebSphere/IHS/bin/httpd -f /opt/IBM/WebSphere/IHS/conf/admin.conf nobody 10420432 17563778 0 09:12:37 - 0:00 /opt/IBM/WebSphere/IHS/bin/httpd -d /opt/IBM/WebSphere/IHS -k start wasadmin 13697222 9633990 0 09:14:09 - 0:00 /opt/IBM/WebSphere/IHS/bin/httpd -f /opt/IBM/WebSphere/IHS/conf/admin.conf root 14876862 9633990 0 09:14:09 - 0:00 /opt/IBM/WebSphere/IHS/bin/httpd -f /opt/IBM/WebSphere/IHS/conf/admin.conf root 17563778 1 0 09:12:36 - 0:00 /opt/IBM/WebSphere/IHS/bin/httpd -d /opt/IBM/WebSphere/IHS -k start nobody 19398842 17563778 0 09:12:37 - 0:00 /opt/IBM/WebSphere/IHS/bin/httpd -d /opt/IBM/WebSphere/IHS -k start nobody 21430478 17563778 0 09:12:37 - 0:00 /opt/IBM/WebSphere/IHS/bin/httpd -d /opt/IBM/WebSphere/IHS -k start
Configure web server plugin
- Get version ID of WebSphere Customization Toolbox (WCT)
cd /opt/IBM/InstallationManager/eclipse/tools
./imcl listAvailablePackages -repositories /media/WAS855_supp/repository.config
com.ibm.websphere.APPCLIENT.v85_8.5.5000.20130514_1044
com.ibm.websphere.IHS.v85_8.5.5000.20130514_1044
com.ibm.websphere.PLG.v85_8.5.5000.20130514_1044
com.ibm.websphere.PLUGCLIENT.v85_8.5.5000.20130514_1044
com.ibm.websphere.WCT.v85_8.5.5000.20130514_1044- Install WCT
cd /opt/IBM/InstallationManager/eclipse/tools ./imcl install com.ibm.websphere.WCT.v85_8.5.5000.20130514_1044 \ -repositories /media/WAS855_supp/repository.config \ -installationDirectory /opt/IBM/WebSphere/Toolbox \ -sharedResourcesDirectory /opt/IBM/WebSphere/IMShared \ -log /tmp/imcl.log \ -acceptLicense- Start web server and admin server
cd /opt/IBM/WebSphere/IHS/bin
./apachectl start
./adminctl start
- Run the WCT GUI...
cd /opt/IBM/WebSphere/Toolbox/WCT
./wct.sh- Select and launch "Web Server Plug-ins Configuration Tool"
- Select "Add" to add a web server plug-ins location
- Add plug-in
Name: Plugin01
Location: /opt/IBM/WebSphere/PluginsIncrement number based on node. For node2, name is Plugin02
- In the Web Server Plug-in Configurations panel, select "Create"
- Select IBM HTTP Server v8.5
- Select 64 bit architecture
- Specify httpd.conf location and port 7001.
- Set port, user ID, and password for IBM HTTP Server Administration
Be sure to scroll down if you do not see password confirmation field.
- On the admistrator name and group panel, enter wasadmin and system.
- Enter a Web Server Definition name, for example, web1...
- Choose either local or remote install. If remote to a cluster, use host name of the dmgr.
For remote install, use name of dmgr host, such as tdmgr.myco.com
- Review summary info then click Configure.
- We should get a success message
- Edit httpd.conf, and verify existence of plugin-in directives...
LoadModule was_ap22_module /opt/IBM/WebSphere/Plugins/bin/64bits/mod_was_ap22_http.so
WebSpherePluginConfig /opt/IBM/WebSphere/Plugins/config/webserver2/plugin-cfg.xml- Copy web server definition script to target dmgr
scp /opt/IBM/WebSphere/Plugins/bin/configureweb1.sh wasadmin@dmgr.myco.com:/tmp
- Log on to dmgr host and create web server definition...
cd /opt/IBM/WebSphere/WebSphere/AppServer/profiles/Dmgr01/bin
cp /tmp/configureweb1.sh .
./configureweb1.sh -user wasadmin -password mypasswordTypical output...
root@dmgr /opt/IBM/WebSphere/WebSphere/AppServer/profiles/Dmgr01/bin ->./configureweb1.sh -user wasadmin -password Wps Input parameters: Web server name - web1 Web server type - IHS Web server install location - /opt/IBM/WebSphere/IHS Web server config location - /opt/IBM/WebSphere/IHS/conf/httpd.conf Web server port - 7001 Map Applications - MAP_ALL Plugin install location - /opt/IBM/WebSphere/Plugins Web server node type - unmanaged Web server node name - brandbweb1.myco.com-node Web server host name - brandbweb1.myco.com Web server operating system - aix IHS Admin port - 8008 IHS Admin user ID - wasadmin IHS Admin password - foo IHS service name - ""- Log on to dmgr console and verify web server definition was created.
- Synchronize nodes
- From dmgr console, generate plugin-cfg.xml files.
- Copy new plugin-cfg.xml files to respective web server hosts
DMGR=/opt/IBM/WebSphere/WebSphere/AppServer/profiles/Dmgr01
scp $DMGR/config/cells/MyCell/nodes/brandbweb1.myco.com-node/servers/web1/plugin-cfg.xml wasadmin@brandbweb1:/opt/IBM/WebSphere/Plugins/config/web1- Restart IHS
cd /opt/IBM/WebSphere/IHS/bin
./apachectl restart- Verify the following host aliases are defined
Virtual Hosts | default_host | Host Aliases
Host Name Port * 9080 * 80 * 9443 * 5060 * 5061 * 443 * 10000 * 10002 * 10032 * 10039 * 10029 * 6005
Optional: Set up IHS administration
- On each remote web server, run setupadm...
sudo su - wasadmin cd /opt/IBM/WebSphere/IHS/bin ./setupadm -usr wasadmin \ -grp system \ -cfg /opt/IBM/WebSphere/IHS/conf/httpd.conf \ -adm /opt/IBM/WebSphere/IHS/conf/admin.conf \ -plg /opt/IBM/WebSphere/Plugins/config/web1/plugin-cfg.xmlThis gives the administration server read and write access to web server configuration data. Change webserver1 to the web server name
Restart...
./adminctl restart
./apachectl restart- Run htpasswd.
The administration server is installed with authentication enabled and a blank admin.passwd password file . The administration server will not accept a connection without a valid user ID and password. This is done to protect the IHS configuration file from unauthorized access.
./htpasswd -cm /opt/IBM/WebSphere/IHS/conf/admin.passwd wasadmin
- Restart IHS.
- To test, log on to dmgr, then regenerate and propagate plugin for the web server.
Propagation should be automatic at this point.
Configure portal to use LDAP
In this procedure we add an LDAP user registry to the security federation that already has the the default user registry:
o=defaultWIMFileBasedRealm
dc=myco,dc=comWAS and portal administrative users are configured in the LDAP along with default user registry users:
wasadmin,o=defaultWIMFileBasedRealm
uid=wasadmin,cn=users,ou=admins,dc=myco,dc=com
wpsadmin,o=defaultWIMFileBasedRealm
uid=wpsadmin,cn=users,ou=admins,dc=myco,dc=comThese tasks only need to be run on the primary node.
Procedure
- Create tarball of portal and dmgr filesystems
- Add the wpsadmin user as an administrative user on WAS.
From dmgr console, go to...
Users and Groups | Manage Users | Create
...and create wpsadmin user.
- Click the Group Membership button and assign Administration user role to wpsadmins
- Enable distinguished name logins.
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine
./ConfigEngine.sh wp-modify-realm-enable-dn-login -DWasPassword=mypasswordThis allows us to logon with the fully distinguished name...
uid=wasadmin,o=defaultWIMFileBasedRealm
We enable fully distinguished name logins because the short name of our administrator, wasadmin, is in both the file and LDAP registries, and a short name search would not resolve correctly.
- Optional. If file registry password for wasadmin or wpsadmin is different than LDAP pass, change passwords in file based registry to match LDAP versions
- Log on to primary node and copy the parent properties into place...
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine/properties
cp /opt/IBM/WebSphere/profiles/profilename/ConfigEngine/config/helpers/wp_add_federated_ids.properties .- Edit wp_add_federated_ids.properties file and set properties.
Here are settings for PRDHA...
federated.ldap.id=MyCo_LDAP1
federated.ldap.host=mytds1.myco.com
federated.ldap.port=389
federated.ldap.bindDN=cn=root
federated.ldap.bindPassword=mypassword
federated.ldap.ldapServerType=IDS
federated.ldap.baseDN=dc=MyCo,dc=com
federated.ldap.gc.name=ibm-allGroupsIBM Tivoli Directory Server supports the optional membership attribute...
federated.ldap.gc.name=ibm-allGroups
...that offers a significant performance enhancement.
- Validate the properties:
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine ./ConfigEngine.sh validate-federated-ldap \ -DparentProperties=/opt/IBM/WebSphere/profiles/profilename/ConfigEngine/properties/wp_add_federated_ids.properties \ -DSaveParentProperties=true \ -DWasPassword=mypasswordRunning with -DSaveParentProperties=true adds the new wp_add_federated_ids.properties to wkplc.properties.
- Add the federated LDAP to the cluster security configuration:
./ConfigEngine.sh wp-create-ldap -DWasPassword=mypassword
The wp-create-ldap tasks adds the LDAP to the WAS security configuration. It does not remove the out-of-the-box file user registry. Both are in use.
In the future, when we update LDAP properties, we run...
./ConfigEngine.sh wp-update-federated-ldap -DWasPassword=mypassword
- Enable distinguished logins again (for luck)
./ConfigEngine.sh wp-modify-realm-enable-dn-login -DWasPassword=mypassword
- Restart the dmgr, nodeagent, and WebSphere_Portal servers.
cd /opt/IBM/WebSphere/profiles/profilename/bin
./stopServer.sh WebSphere_Portal -username uid=wasadmin,o=defaultWIMFileBasedRealm -password mypassword
./stopNode.sh -username uid=wasadmin,o=defaultWIMFileBasedRealm -password mypasswordcd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
./stopManager.sh -username uid=wasadmin,o=defaultWIMFileBasedRealm -password mypassword
sleep 5
./startManager.shcd /opt/IBM/WebSphere/profiles/profilename/bin
./startNode.sh
./startServer.sh WebSphere_Portal- After restart, verify credentials are correct by logging on to WAS console and Portal.
We will be unable to login to Portal using the short name. This will only be temporary and will be corrected at the end of these steps. To log on to console, use fully qualified id:
uid=wasadmin,o=defaultWIMFileBasedRealm
If you go to the security configuration, we should see our new LDAP listed...
Here is what the MyCo_LDAP1 repository identifier should look like...
If logon fails, to revert...
- Turn off security...
cd /opt/IBM/WebSphere/WebSphere/AppServer/profiles/Dmgr01/bin
./wsadmin.sh -conntype NONE
WASX7357I: By request, this scripting client is not connected to any server process. Certain configuration and application operations will be available in local mode.
WASX7029I: For help, enter: "$Help help"
wsadmin>securityoff
LOCAL OS security is off now but restart server1 to make it affected.
wsadmin>$AdminConfig save
wsadmin>exitAnother way to disable security is to edit...
/opt/IBM/WebSphere/WebSphere/AppServer/profiles/Dmgr01/config/cells/MyCell/security.xml
...and for element...
<security:Security
...set attribute...
enabled="false"
- Get the dmgr PID...
ps -ef | grep dmgr
...and kill the dmgr process...
kill PID
Give it a minutes to finish. If regular kill does not work, run the sure kill...
kill -9 PID
- Log on to the portal nodes, get the nodeagent and WebSphere_Portal processes...
ps -ef | grep WebSphere_Portal
ps -ef | grep nodeagent...then kill those...
kill PID
- Synchronize nodes...
./syncNode.sh tdmgr.myco.com 9879 -user wasadmin -password mypassword
...then restart
- Run startManager.sh
- Log on to dmgr console and go to...
Security | Global security | Federated repositories | Manage repositories
We can either try to fix the problem, or we can remove the LDAP realm using the "Remove" button.
- After clicking Remove, also delete LDAP repositories in...
Global security > Federated repositories > Manage repositories
- From Global Security | Federated repositories, set...
Allow operations if some of the repositories are down
If you still get message saying LDAP exists, we can also remove bad LDAP realm by editing wkplc.properties and setting...
federated.delete.baseentry=uid=wpsadmin,cn=users,ou=admins,dc=myco,dc=com
federated.delete.id=MyCo_LDAP1...then run...
./ConfigEngine.sh wp-delete-repository -DWasPassword=mypassword
- Restart portal processes
- Enable security. Edit...
/opt/IBM/WebSphere/WebSphere/AppServer/profiles/Dmgr01/config/cells/MyCell/security.xml
...and for element...
<security:Security
...set attribute...
enabled="true"
Also change
<security:Security ... appEnabled="false"
...to...
<security:Security ... appEnabled="true" ...
- Restart portal processes
- Verify all defined attributes are available in your newly added ldap:
./ConfigEngine.sh wp-validate-federated-ldap-attribute-config -DWasPassword=foo!
- Reassign the WAS Administrator ID from the file registry to a user in the LDAP:
./ConfigEngine.sh wp-change-was-admin-user \ -DWasPassword=mypassword \ -DnewAdminId=uid=wasadmin,cn=users,ou=admins,dc=myco,dc=com \ -DnewAdminPw=mypasswordFor newAdminPw, use the password assigned to this user in the LDAP.
- Restart the dmgr, nodeagent and WebSphere_Portal servers...
### On Portal primary node
cd /opt/IBM/WebSphere/profiles/profilename/bin
./stopServer.sh WebSphere_Portal -username uid=wasadmin,o=defaultWIMFileBasedRealm -password mypassword
./stopNode.sh -username uid=wasadmin,o=defaultWIMFileBasedRealm -password mypassword### On Dmgr
cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
./stopManager.sh -username uid=wasadmin,o=defaultWIMFileBasedRealm -password mypassword
sleep 5
./startManager.sh### On Portal primary node
cd /opt/IBM/WebSphere/profiles/profilename/bin
./startNode.sh
./startServer.sh WebSphere_PortalBecause we ran wp-modify-realm-enable-dn-login earlier, we use the fully distinguished name of the original file registry WAS admin user. The new LDAP-based WAS admin user will take effect after the servers have been restarted.
- Log on to Dmgr console and verify new credentials are working...
User ID: uid=wasadmin,cn=users,ou=admins,dc=MyCo,dc=com
Password: mypassword- In wkplc.properties, if value for WasPassword= was removed, re-add using our new password.
- Reassign the WebSphere Portal Administrator ID and Group ID to a user and group within the LDAP:
./ConfigEngine.sh wp-change-portal-admin-user \ -DWasPassword=mypassword \ -DnewAdminId=uid=wpsadmin,cn=users,ou=admins,dc=myco,dc=com \ -DnewAdminPw=mypassword \ -DnewAdminGroupId=cn=wpsadmins,cn=groups,ou=admins,dc=MyCo,dc=comFor newAdminPw, use the password assigned to this user in the LDAP.
This task updates PortalAdminId in wkplc.properties to reflect the ID value specified for 'newAdminId' and the PortalAdminGroupId value will be automatically updated to reflect the 'newAdminGroupId'.
- Review wkplc.properties and verify that PortalAdminPwd is set to foo
- Restart the Deployment Manager, nodeagent, and WebSphere_Portal server on the primary node
### On Portal primary node cd /opt/IBM/WebSphere/profiles/profilename/bin ./stopServer.sh WebSphere_Portal \ -username uid=wasadmin,cn=users,ou=admins,dc=MyCo,dc=com \ -password mypassword ./stopNode.sh -username uid=wasadmin,cn=users,ou=admins,dc=MyCo,dc=com -password mypassword ### On Dmgr cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin ./stopManager.sh -username uid=wasadmin,cn=users,ou=admins,dc=MyCo,dc=com \ -password mypassword ./startManager.sh ### On Portal primary node cd /opt/IBM/WebSphere/profiles/profilename/bin ./startNode.sh ./startServer.sh WebSphere_Portal- List the current user repositories:
./ConfigEngine.sh wp-query-repository -DWasPassword=mypassword
For example...
cell="MyCellD" engineinstalllocation="/opt/IBM/WebSphere/profiles/profilename/ConfigEngine" enginerootdir="/opt/IBM/WebSphere/ConfigEngine" pathseparator=":" osarch="ppc64" Existing Federated Repositories Repository Name : {BasicInformation} : {Details} *************************************** MyCo_LDAP1 : { repositoryType=LDAP, specificRepositoryType=IDS, host=dpidtds.myco.com}, ldapServerType=IDS, supportTransactions=false, supportExternalName=false, supportChangeLog=native, searchTimeLimit=120000, certificateMapMode=EXACT_DN, sslConfiguration=, translateRDN=false, certificateFilter=, supportAsyncMode=false, adapterClassName=com.ibm.ws.wim.adapter.ldap.LdapAdapter, searchCountLimit=500, primaryServerQueryTimeInterval=15, supportSorting=false, returnToPrimaryServer=true, supportPaging=false, id=MyCo_LDAP1, loginProperties=[uid, mail], )
- Set entity types.
Edit wkplc.properties and set...
personAccountParent=cn=users,ou=admins,dc=MyCo,dc=com
groupParent=cn=groups,ou=admins,dc=MyCo,dc=com
personAccountRdnProperties=uid
groupRdnProperties=cn...then run...
./ConfigEngine.sh wp-set-entitytypes -DWasPassword=mypassword
- Remove the default file user registry.
Option for lower-level envs. Required for production environments.
In wkplc.properties set...
federated.delete.baseentry=o=defaultWIMFileBasedRealm
federated.delete.id=InternalFileRepository...then run...
./ConfigEngine.sh wp-delete-repository -DWasPassword=mypassword
- Disable fully distinguished name logins and re-enable short name logins...
./ConfigEngine.sh wp-modify-realm-disable-dn-login -DWasPassword=mypassword
- Stop the dmgr, nodeagent, and WebSphere_Portal...
### On Portal primary node cd /opt/IBM/WebSphere/profiles/profilename/bin ./stopServer.sh WebSphere_Portal \ -username uid=wasadmin,cn=users,ou=admins,dc=MyCo,dc=com \ -password mypassword ./stopNode.sh -username uid=wasadmin,cn=users,ou=admins,dc=MyCo,dc=com \ -password mypassword ### On Dmgr cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin ./stopManager.sh -username uid=wasadmin,cn=users,ou=admins,dc=MyCo,dc=com \ -password mypassword ./startManager.sh ### On Portal primary node cd /opt/IBM/WebSphere/profiles/profilename/bin ./startNode.sh ./startServer.sh WebSphere_Portal- Verify we can log on to dmgr and portal using...
- Login: wasadmin
- Password: mypassword
- Stop processes and make tarball backup
### On Portal primary node cd /opt/IBM/WebSphere/profiles/profilename/bin ./stopServer.sh WebSphere_Portal \ -username wasadmin \ -password mypassword ./stopNode.sh -username wasadmin -password mypassword ### On Dmgr cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin ./stopManager.sh -username wasadmin \ -password mypassword ./startManager.sh ### On Portal primary node cd /opt/IBM/WebSphere/profiles/profilename/bin ./startNode.sh ./startServer.sh WebSphere_Portal- Optional. Change poolTimeOut from 0 to 180 in...
/opt/IBM/WebSphere/profiles/profilename/config/cells/MyCell/wim/config/wimconfig.xml
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/MyCell/wim/config/wimconfig.xmlAt this point, we have completed building a single node cluster using a remote database and federated LDAP server.
If we see blank entries, or have users who can no longer view resources to which they previously had access, you may need to...
- On secondary nodes, update wkplc.properties with latest values
- Run update-jcr-admin on secondary nodes.
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine
./ConfigEngine.sh update-jcr-adminSee Fix Portal Access Control settings if user/group external identifiers have changed.
Set wasadmins permissions
- Log into the ISC and go to Users and Groups
- Pick Administrative group Role
- Add a group and search for wasadmins
- Select all the roles
- And then save.
Set ibm-allGroups
If you did not set up ibm-allGroups membership attribute when configuring LDAP, we can do it after the fact by logging on to the console and going to...
Global security > Federated repositories > MyCo_LDAP1 > Group attribute definition
Verify that...
Global security > Federated repositories > MyCo_LDAP1 > Group attribute definition > Member attributes
...has uniqueMember set...
Enable SSL for LDAP
- Add LDAP signer certificate to the WAS installation
- Select...
Security | SSL certificate and key management | SSL configurations | CellDefaultSSLSettings | Key stores and certificates | CellDefaultTrustStore | Signer certificates | Retrieve from port
- Set LDAP host name, SSL port (default 636), and alias of your choice
- Click "Retrieve signer information".
This should pull the certificate directly from the LDAP server.
- Save the changes to the master configuration.
We should now see your LDAP signer certificate stored in the trust store for the default SSL configuration...
- Restart dmgr
- On primary node, perform syncNode...
./syncNode.sh dmgr.myco.com 9879 \ -user wasadmin \ -password mypassword- Restart WebSphere_Portal and node agent
- Update wkplc.properties and add...
federated.ldap.sslEnabled=true
federated.ldap.sslConfiguration=CellDefaultSSLSettings- Update federated repository
./ConfigEngine.sh wp-update-ldap -DWasPassword=mypassword
Web Content View preferences
Define portlet preferences defined in the WCM Viewer portlet.
- Go to...
Administration | Portlet Management | Portlets
- Search for "web content viewer" and then click the Configure portlet icon
- The Configure portlet panel appears...
- Set the following preferences...
meta.tag.content.element.6 meta.og.description meta.tag.content.element.9 meta.og.image meta.tag.content.text.2 BrandA Wireless meta.tag.content.text.3 INDEX,FOLLOW meta.tag.content.text.7 BrandA Wireless meta.tag.name.0 title meta.tag.name.1 description meta.tag.name.2 author meta.tag.name.3 robots meta.tag.name.4 keywords meta.tag.name.5 og:title meta.tag.name.6 og:description meta.tag.name.7 og:site_name meta.tag.name.9 og:image Restart WebSphere processes after setting these values.
Configure theme
- Install theme war.
We can also export theme as EAR, and then install EAR in new environment.
- From dmgr console, select New Enterprise Application, then select...
TF_B_ModularTheme.war
- On panel "Select installation options", set name to TF_B_ModularTheme
- On panel "Map modules to servers", select both cluster and web server
- On panel "JSP reloading options for Web modules", keep defaults.
- On panel "Map shared libraries", keep defaults.
- On panel "Map shared library relationships", keep defaults.
- On panel "Map virtual hosts for Web modules", keep defaults.
- On panel "Map context roots for Web modules", set...
/wps/TF_B_ModularTheme
- On panel "Map JASPI provider", keep defaults.
- On panel "Display module build Ids", keep defaults.
- Review summary info, then select "Finish"...
- Synchronize nodes...
- Import theme data to WebDAV folders
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine ./ConfigEngine.sh webdav-deploy-zip-file \ -DTargetURI=dav:fs-type1/themes/SIMPLEMobileTheme/ \ -DZipFilePath=/tmp/deployment/original_deployment/themes/BModularTheme-bin.zip \ -DUpdateMode=merge- Register theme
- Export theme xml from source Portal...
cd /opt/IBM/WebSphere/PortalServer/bin ./xmlaccess.sh -in /tmp/deployment/themes ExportThemesAndSkins.xml \ -user wasadmin \ -password foo! \ -url http://dpipsmwps1.myco.com:10039/wps/config \ -out /tmp/deployment/original_deployment/themes/theme_output.xml- Copy output file to:
target_host:/home/wasadmin/deployment/themes
- Edit output file and remove references to unwanted skins and themes.
- Change...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="PortalConfig_7.0.0.xsd"...to...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="PortalConfig_8.0.0.xsd"- Import theme to target Portal v8 dmgr
cd /opt/IBM/WebSphere/PortalServer/bin ./xmlaccess.sh -in /tmp/deployment/original_deployment/themes/theme_output.xml \ -user wasadmin \ -password mypassword \ -url http://brandbwps1.myco.com:10039/wps/config \ -out /tmp/deployment/original_deployment/themes/import_theme_log.xml- From dmgr console, go to...
Enterprise Applications | TF_B_ModularTheme | Class loading and update detection
...and verify Class loader order is set to...
Classes loaded with parent class loader first
From the console, go to the Enterprise Applications panel and if TF_B_ModularTheme is not started, select...
...then click Start...
- Go to the Portal administration page and select...
WebSphere Portal > Portal User Interface > Themes and Skins > B | Edit theme
Change the default skin from the 7.0.0.2 noSkin to Portal 8.0 noSkin.
- Fix hard-coded reference to 7002theme
- Restart portal appserver
Customize IHS config
- Generate plugin-cfg.xml files
- From WebSphere Console, go to the web servers and generate the latest and greatest plugin files.
- Copy new plugin-cfg.xml files to the web server hosts. For example, from dmgr host, run...
cp /opt/IBM/WebSphere/WebSphere/AppServer/profiles/Dmgr01/config/cells/MyCell/nodes/brandbweb1.myco.com-node/servers/webserver1/plugin-cfg.xml /tmp/plugin-cfg1.xml
cp /opt/IBM/WebSphere/WebSphere/AppServer/profiles/Dmgr01/config/cells/MyCell/nodes/brandbweb2.myco.com-node/servers/webserver2/plugin-cfg.xml /tmp/plugin-cfg2.xml
chmod 666 /tmp/plugin-cfg1.xml
chmod 666 /tmp/plugin-cfg2.xml- On your client PC, run...
scp mpareene@dmgr.myco.com:/tmp/plugin-cfg1.xml plugin-cfg1.xml
scp mpareene@dmgr.myco.com:/tmp/plugin-cfg2.xml plugin2-cfg.xml- mkdir /opt/IBM/WebSphere/IHS/logs/brandb
- Copy files up to web servers
scp plugin-cfg1.xml mpareene@brandbweb1.myco.com:/tmp/plugin-cfg.xml
scp plugin-cfg2.xml mpareene@brandbweb2.myco.com:/tmp/plugin-cfg.xmlFrom webserver1 host...
chmod 666 /tmp/plugin-cfg.xml
cd /opt/IBM/WebSphere/Plugins/config/webserver1
cp /tmp/plugin-cfg.xml .From webserver2 host...
chmod 666 /tmp/plugin-cfg.xml
cd /opt/IBM/WebSphere/Plugins/config/webserver2
cp /tmp/plugin-cfg.xml .- On web server hosts, modify httpd.conf to include MyCo directives.
- On web server hosts, create directory...
/opt/IBM/WebSphere/IHS/conf/vhosts
...and drop in copies of MyCo IHS config files modified to reflect our environment. Use these as reference...
Configure network domains
For each site we need to...
- Provision VIP.
- Configure DNS with fully-qualified domain names.
- Configure correct routing for each request
User --> Load Balancer --> DataPower --> IHS web server --> portal
- Set CBO endpoint. For example, change...
esb1gateway:80
...to...
dp-b.myco.com:7001
...or...
dp-test.myco.com:7001
Syndication
To set up a syndication relationship...
- Ensure both the subscriber and syndicator are running, and they can connect other the network. For example...
telnet auth.myco.com 10039
- On the subscriber server, create a shared credential vault slot by going to...
Administration | Access | Credential Vault
...and setting ID and password to be a working ID and password for accessing the syndicator portal.
- From subscriber, set URL of syndicator...
Administration | Portal Content | Subscribers | Subscribe Now
For example...
http://auth.myco.com:10039/wps/wcm
- Enter a value for the syndicator name.
This value is used for the syndicator item created on the syndicator server. Enter a name that identifies the syndication relationship. Name must be unique, and cannot be the same as an existing syndicator name.
- Enter a value for the subscriber item.
This value is used for the subscriber item created on the subscriber server.
- Select the credential vault slot created earlier, then click Next
- Select the libraries to subscribe to...
For BrandA, select...
- BrandA Design
- BrandA EN
- BrandA ES
- ImageRendering
- MyProducts
- MultiLingual
- Click Finish.
- To begin syndication, click either Update Subscriber or Rebuild Subscriber button.
During the syndication we will see a Status of Active along with Last Update
Do not stop the Portal server while the syndication is running. Wait for Complete status. Clicking on Last Update will show you a report indicating progress. Unfortunately, during initial syndication, update status in the report will not change from ICE-INITIAL, so the report is kind of useless.
A better option is to monitor Portal JVM log...
tail -f /opt/IBM/WebSphere/profiles/profilename/logs/WebSphere_Portal
To add additional WCM libraries after creating the syndication relationship, go to the syndication portal and click the Edit icon...
Export/Import WCM libs
With this step we export the contents of a web content library in source portal, and import this library into target web content server. This procedure is only suitable for populating new items. For ongoing updates, deletes and moves, set up syndication.
To use portal multilingual features, execute multilingual deploy tasks BEFORE importing WCM libs. Do NOT copy over any multilingual-related libraries. Run the mls deploy tasks first.
- From source portal server, as user wasadmin, export all WCM libraries...
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine ./ConfigEngine.sh export-wcm-data \ -Dexport.allLibraries=true \ -DWasPassword=mypassword \ -DPortalAdminPwd=mypasswordTo specify a virtual portal: -DVirtualPortalHostName
- Tail logs during export...
tail -f /opt/IBM/WebSphere/profiles/profilename/logs/WebSphere_Portal/SystemOut.log
- On target host, as user wasadmin, create import directory...
mkdir /opt/IBM/WebSphere/profiles/profilename/PortalServer/wcm/ilwwcm/system/import
- Copy output file to target portal server
cd /opt/IBM/WebSphere/profiles/profilename/PortalServer/wcm/ilwwcm/system/export
scp -r dirname wasadmin@remotehost:/opt/IBM/WebSphere/profiles/profilename/PortalServer/wcm/ilwwcm/system/import- Increase total transaction lifetime timeout and maximum transaction timeout to 360 seconds in...
Servers | Server Types | WebSphere application servers | portal_server | Container Services | Transaction Service
- Log on to target portal server and import WCM libraries...
cd /opt/IBM/WebSphere/profiles/profilename/ConfigEngine
./ConfigEngine.sh import-wcm-data -DWasPassword=mypassword -DPortalAdminPwd=mypassword
Set permissions for web content
- Log on to the portal and go to...
Administration | Portal Content | Web Content Libraries | Set Access on Root
- Edit the User role
- Add members "All Authenticated Portal Users" and "Anonymous Portal User" to User role.
Export and import pages
For this step we export pages from source portal A, and then import those pages to target portal B. For the export to work, enable support for JavaScript and disable pop-up blocking in the browser settings. I have had success using out-of-the box Firefox as the browser.
- Backup target portal
- Log on to source virtual portal administration page as user wasadmin. For example...
- Click the "Administration" link on the bottom left of the page.
- Go to...
Administration | Manage Pages | Content Root
...and click the Export button for the Welcome to B page...
Output is written by default to pageExport.xml.
- If we are migrating v7 pages to a v8 portal...
- Review pageExportBPRD.xml, and verify object IDs for noskin and theme match those in the theme import file.
- Review the B_* portlets in pageExport.xml and compare their object IDs to those found in...
Portal | Administration | Portal Settings | Custom Unique Names | Portlets
- Edit pageExportBPRD.xml
- Remove references to the following skins and themes
<skin action="locate" domain="rel" objectid="ZK_CGAH47L008LG50IAHUR9Q330S4" uniquename="ibm.portal.skin.IBM"/>
<skin action="locate" domain="rel" objectid="ZK_CGAH47L008LG50IAHUR9Q330S2" uniquename="wps.skin.thinSkin"/>
<skin action="locate" domain="rel" objectid="ZK_CGAH47L008LG50IAHUR9Q330S6" uniquename="wps.skin.noSkin"/>
<skin action="locate" domain="rel" objectid="ZK_B8LUIVAH2REB10IL4GGE622OE6"/>
<theme action="locate" domain="rel" objectid="ZJ_D0JM3QAH2B7H30IJRMH0GP3007" uniquename="com.MyCo.portal.B_BlankTheme"/>- Change references to cloned Web Content Viewers...
Web Content Viewer (JSR 286).$cloned.Z3_D0JM3QAH2379F0I310AG6720O4
Web Content Viewer (JSR 286).$cloned.Z3_D0JM3QAH2379F0I310AG6720O6...to original Web Content Viewer...
portlet Z3_CGAH47L00OJ790IAH1AFAN1G56 name=Web Content Viewer (JSR 286)
- Remove the following undefined skin component
<component action="update" active="true" deletable="undefined" domain="rel" modifiable="true" objectid="Z7_D0JM3QAH2RH750IPHCSG7N0OF3" ordinal="3400" orientation="H" skinref="undefined" type="container" width="undefined">- From target virtual portal, go to...
Administration | Import XML
...and select the virtual portal export file created earlier, pageExportBPRD.xml.
Appendix
Appendix Foo - WebDAV
Make WebDAV connection to target portal environment. Best client is "AnyClient".
Appendix Foo - Restart WebSphere_Portal, nodeagent, and sync
DEV and SIT restart...
cd /opt/IBM/WebSphere/profiles/profilename/bin
./stopServer.sh WebSphere_Portal -username wasadmin -password mypassword
./stopNode.sh -username wasadmin -password mypassword
cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
./stopManager.sh -username wasadmin -password mypassword
./startManager.sh
cd /opt/IBM/WebSphere/profiles/profilename/bin
./startNode.sh
./startServer.sh WebSphere_PortalTST restart
- On primary node
cd /opt/IBM/WebSphere/profiles/profilename/bin
./stopServer.sh WebSphere_Portal -username wasadmin -password foo!
./stopNode.sh -username wasadmin -password foo!- On secondary node
cd /opt/IBM/WebSphere/profiles/profilename/bin
./stopServer.sh WebSphere_Portal -username wasadmin -password foo!
./stopNode.sh -username wasadmin -password foo!- On Dmgr
cd /opt/IBM/WebSphere/WebSphere/AppServer/bin
./stopManager.sh -username wasadmin -password foo!
./startManager.sh- On primary node
cd /opt/IBM/WebSphere/profiles/profilename/bin
./syncNode.sh tdmgr.myco.com 9879 -user wasadmin -password foo!
./startNode.sh
./startServer.sh WebSphere_Portal- On secondary node
cd /opt/IBM/WebSphere/profiles/profilename/bin
./syncNode.sh tdmgr.myco.com 9879 -user wasadmin -password foo!
./startNode.sh
./startServer.sh WebSphere_PortalAppendix Foo - Web server authentication
This is not part of portal install. This is to add a documentation site to web server, and to add authentication to the site.
- Log on to server hosting IHS, and sudo to root
- Edit...
/opt/IBM/WebSphere/IHS/conf/httpd.conf
..and add stanza...
<Directory /opt/IBM/WebSphere/IHS/htdocs/install> AuthType Basic AuthName "Portal v8 install documentation" AuthUserFile "/opt/IBM/WebSphere/IHS/htdocs/install/auth" Require valid-user Order allow,deny Allow from all </Directory>- Create password file and add wasadmin user
cd /opt/IBM/WebSphere/IHS/htdocs/install
../../bin/htpasswd -c /opt/IBM/WebSphere/IHS/htdocs/install/auth wasadminTo add user to existing password file...
../../bin/htpasswd /opt/IBM/WebSphere/IHS/htdocs/install/auth username
- Make password file readable by httpd daemon
chmod 666 /opt/IBM/WebSphere/IHS/htdocs/install/auth
- Restart web server...
/opt/IBM/WebSphere/IHS/bin/apachectl restart
Appendix Foo - Script to install Portal FP1
### installFP1.sh
###
### Update Portal v8 with FP1. Before running, in wkplc.properties, set...
###
### - Set PortalAdminPwd and WasPassword
### - Set PWordDelete=false
###
### To generate encrypted password used below...
###
### ./IBMIM -silent -noSplash encryptString mypassword
### Stop WebSphere processes
cd /opt/IBM/WebSphere
cd /opt/IBM/WebSphere/profiles/profilename/bin
./stopServer.sh WebSphere_Portal -username wasadmin -password foo!
cd /opt/IBM/WebSphere/AppServer/bin
./stopNode.sh -username wasadmin -password foo!
cd /opt/IBM/WebSphere/AppServer/bin
./stopManager.sh -username wasadmin -password foo!
### Backup file system
cd /opt/IBM/WebSphere
tar cvf WebSpherePostPortal.tar WebSphere
gzip WebSpherePostPortal.tar
tar cvf WebSphere1PostPortal.tar WebSphere1
gzip WebSphere1PostPortal.tar
### Backup Installation Manager
tar cvf InstallationManagerPostPortal.tar /var/ibm/InstallationManager
gzip InstallationManagerPostPortal.tar
tar cvf IMSharedPostPortal.tar /usr/IBM/IMShared
gzip IMSharedPostPortal.tar
### Install FP
cd /opt/IBM/InstallationManager/eclipse/tools
./imcl install com.ibm.websphere.PORTAL.SERVER.v80 -repositories /media/Portal8_FP1/repository.config -properties user.wp.portal.userid,,com.ibm.websphere.PORTAL.SERVER.v80=wasadmin,user.wp.portal.password,,com.ibm.websphere.PORTAL.SERVER.v80=zvgGAF0Fb/j9MaftrK1Uww==,user.wp.was.userid,,com.ibm.websphere.PORTAL.SERVER.v80=wasadmin -installationDirectory /opt/IBM/WebSphere/PortalServer -acceptLicense
### Start WebSphere processes
cd /opt/IBM/WebSphere/AppServer/bin
./startManager.sh
cd /opt/IBM/WebSphere/AppServer/bin
./startNode.sh
cd /opt/IBM/WebSphere/profiles/profilename/bin
./startServer.sh WebSphere_PortalSet up IHS SSL
This needs to be done for authoring server
- Create key DB and certificate
mkdir /opt/IBM/WebSphere/IHS/keys
/path/to/gsk7cmd -keydb -create -db authoring.kdb -pw password -type cms -expire 360 -stash /path/to/gsk7cmd -cert -create -db authoring.kdb -pw password -size 1024 -dn "CN=hostname,O=MyCo,OU=IHS,ST=FL,C=US" -label IHS -default_cert yes -expire 360
cd /opt/IBM/WebSphere/IHS/keys- Edit httpd.conf and set...
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
Listen 443
<VirtualHost *:443>
SSLEnable
SSLProtocolDisable SSLv2
</VirtualHost>
KeyFile /opt/IBM/WebSphere/IHS/key/authoring,kdb
SSLDisable- Restart IHS
Create profile on secondary node
Do this step only after configuring the portal primary node with Oracle and LDAP
- From primary node, copy profileTemplates.zip to secondary nodes. For example...
cd /opt/IBM/Portal/WebSphere1/PortalServer/profileTemplates
scp profileTemplates.zip mpareene@brandbwps2.myco.com:/tmp
scp profileTemplates.zip mpareene@brandbwps3.myco.com:/tmp
scp profileTemplates.zip mpareene@brandbwps4.myco.com:/tmp- On target node, unzip profileTemplates.zip
cd /opt/IBM/Portal/WebSphere1/PortalServer/profileTemplates
mv /tmp/profileTemplates.zip .
unzip profileTemplates.zip- Update permissions...
cd /opt/IBM/Portal/WebSphere1/PortalServer/
find profileTemplates -name \* -exec chmod 755 {} \;- Execute...
cd /opt/IBM/Portal/WebSphere1/PortalServer/profileTemplates
./installPortalTemplates.sh /opt/IBM/Portal/WebSphere1/AppServer- On each WebSphere Portal additional node...
cd /opt/IBM/Portal/WebSphere1/AppServer/bin/ ./manageprofiles.sh -create \ -templatePath /opt/IBM/Portal/WebSphere1/PortalServer/profileTemplates/managed.portal \ -profileName wp_profile \ -profilePath /opt/IBM/Portal/WebSphere1/wp_profile \ -cellName Cell02 \ -nodeName Node02 \ -hostName brandbwps2.myco.com cd /opt/IBM/Portal/WebSphere1/AppServer/bin/ ./manageprofiles.sh -create \ -templatePath /opt/IBM/Portal/WebSphere1/PortalServer/profileTemplates/managed.portal \ -profileName wp_profile \ -profilePath /opt/IBM/Portal/WebSphere1/wp_profile \ -cellName Cell03 \ -nodeName Node03 \ -hostName brandbwps3.myco.com cd /opt/IBM/Portal/WebSphere1/AppServer/bin/ ./manageprofiles.sh -create \ -templatePath /opt/IBM/Portal/WebSphere1/PortalServer/profileTemplates/managed.portal \ -profileName wp_profile \ -profilePath /opt/IBM/Portal/WebSphere1/wp_profile \ -cellName Cell04 \ -nodeName Node04 \ -hostName brandbwps4.myco.com ...etc...Do NOT use the same node name as your primary node or any other node that may already be part of the DMGR cell. You will be unable to add this node to the DMGR cell if the node names are identical. Do NOT use the same cell name as the DMGR cell. Do NOT use the manageprofiles option to Federate the profile now. This results in an unusable Portal profile. A WebSphere_Portal server will NOT be created during the profile creation. The WebSphere_Portal server will be created after the node is added to the existing cluster.
- After creating the profile, edit...
/opt/IBM/Portal/WebSphere1/PortalServer/wps.properties
...and verify the following is set...
ProfileName=wp_profile
ProfileDirectory=/opt/IBM/Portal/WebSphere1/wp_profile- On remote dmgr host, ensure the Deployment Manager is started...
cd /opt/IBM/Portal/WebSphere/AppServer/profiles/Dmgr01/bin
./startManager.sh- Ensure that the time on the Deployment Manager server and the time on the additional Portal node server are no more than 5 minutes apart.
- Create backup of all nodes and dmgr
- Log on to each secondary host in turn, and add the node...
cd /opt/IBM/Portal/WebSphere1/wp_profile/bin
./addNode.sh dmgr.myco.com 9879 -username wasadmin -password mypasswordExample output...
ADMU0003I: Node Node02 has been successfully federated.
- Edit...
/opt/IBM/Portal/WebSphere1/wp_profile/ConfigEngine/properties/wkplc.properties
...and set...
WasUserid=uid=wasadmin,cn=users,ou=admins,dc=myco,dc=com
WasPassword=mypassword
PortalAdminId=uid=wpsadmin,cn=users,ou=admins,dc=myco,dc=com
PortalAdminPwd=mypassword
PortalAdminGroupId=cn=wpsadmins,cn=groups,ou=admins,dc=myco,dc=com
WasRemoteHostName=dmgr.myco.com
WasSoapPort=9879
PrimaryNode=false
ClusterName=MyCluster- Edit...
/opt/IBM/Portal/WebSphere1/wp_profile/ConfigEngine/properties/wkplc_dbdomain.properties
...and ensure that the database password values are all set correctly.
Note that this file should be pre-populated with our database information from running the 'enable-profiles' script on the primary node earlier.
- Review settings in...
/opt/IBM/Portal/WebSphere1/wp_profile/ConfigEngine/properties/wkplc_dbtype.properties
- Confirm the database properties are set up correctly on this node
cd /opt/IBM/Portal/WebSphere1/wp_profile/ConfigEngine
./ConfigEngine.sh validate-database -DWasPassword=mypasswordExample output:
Wed Feb 26 15:24:28 EST 2014
BUILD SUCCESSFUL- Edit...
/opt/IBM/Portal/WebSphere1/wp_profile/PortalServer/jcr/lib/com/ibm/icm/icm.properties
...and set...
jcr.textsearch.enabled = false
- In the same file, set...
jcr.admin.uniqueName=uid=wpsadmin,cn=users,ou=admins,dc=myco,dc=com
- Start the nodeagent
cd /opt/IBM/Portal/WebSphere1/wp_profile/bin
./startNode.sh- Add node to cluster
./ConfigEngine.sh cluster-node-config-cluster-setup-additional -DWasPassword=mypassword
- Execute appserver specific steps for setting up the following...
- Restart appserver and verify no errors in logs
- Verify we can access the new cluster member in a web browser using the port we identified earlier:
Portal promotion steps
This is example for QA env.
- Disable managed pages
- Install New MyCo Mobile Theme
- Check-out theme ear from SVN
svn://SVN0@svnhost.myco.com/trunk/Applications/Upgrade/IntranetProject/Portal
Export the MyCoTheme folder
- Install theme ear
https://qa:14083/ibm/console
...select...
Applications -> New Application -> New Enterprise Application -> Browse to MyCoMobileEnabledDynamicEAR.ear -> Next -> Fast Path -> Next -> Next
Select the Module and map to PortalCluster
Select Apply -> Next -> Finish -> Save
- Install WebDav Components
cd /opt/IBM/WebSphere/profiles/wp_profile/ConfigEngine ./ConfigEngine.sh webdav-deploy-zip-file \ -DTargetURI=dav:fs-type1/themes/MyCoMobileTheme/ \ -DZipFilePath=/tmp/MyCoMobileTheme.zip
- From Console, go to...
Resource -> Resource Environment -> Resource Environment Providers -> WP DynamicContentSpotMappings -> Custom Properties -->
...and set...
MyCoMobileTheme_asa res:/wps/themeModules/modules/asa/jsp/asa.jsp, wp_analytics
MyCoMobileTheme_asaHead res:/wps/themeModules/modules/asa/jsp/head.jsp, wp_analytics
MyCoMobileTheme_asaPortlet res:/wps/themeModules/modules/asa/jsp/asaPortlet.jsp, wp_analytics
MyCoMobileTheme_commonActions res:/MyCoMobileTheme/themes/html/dynamicSpots/commonActions.jsp
MyCoMobileTheme_crumbTrail res:/MyCoMobileTheme/themes/html/dynamicSpots/crumbTrail.jsp?rootClass=wpthemeCrumbTrail&startLevel=2
MyCoMobileTheme_footer res:/MyCoMobileTheme/themes/html/dynamicSpots/footer.jsp
MyCoMobileTheme_head res:/MyCoMobileTheme/themes/html/dynamicSpots/head.jsp
MyCoMobileTheme_layout lm:template
MyCoMobileTheme_mobileSearch mvc:smartphone/tablet@res:/wps/themeModules/themes/html/dynamicSpots/modules/search/search.jsp
MyCoMobileTheme_mobileNav mvc:smartphone/tablet@res:/MyCoMobileTheme/themes/html/dynamicSpots/mobileNavigation.jsp
MyCoMobileTheme_pageModeToggle res:/MyCoMobileTheme/themes/html/dynamicSpots/pageModeToggle.jsp, wp_toolbar
MyCoMobileTheme_preview res:/wps/themeModules/modules/pagebuilder/jsp/preview.jsp,wp_preview
MyCoMobileTheme_primaryNav res:/MyCoMobileTheme/themes/html/dynamicSpots/navigation.jsp?rootClass=wpthemePrimaryNav%20wpthemeLeft&startLevel=1
MyCoMobileTheme_projectMenu res:/wps/themeModules/modules/pagebuilder/jsp/projectMenu.jsp,wp_project_menu
MyCoMobileTheme_search res:/wps/themeModules/themes/html/dynamicSpots/modules/search/search.jsp
MyCoMobileTheme_secondaryNav res:/MyCoMobileTheme/themes/html/dynamicSpots/navigation.jsp?rootClass=wpthemeSecondaryNav&startLevel=2&levelsDisplayed=2
MyCoMobileTheme_sideNav res:/MyCoMobileTheme/themes/html/dynamicSpots/sideNavigation.jsp?startLevel=2
MyCoMobileTheme_status res:/MyCoMobileTheme/themes/html/dynamicSpots/status.jsp, wp_status_bar
MyCoMobileTheme_toolbar res:/wps/themeModules/modules/pagebuilder/jsp/toolbar.jsp,wp_toolbar
MyCoMobileTheme_topNav res:/MyCoMobileTheme/themes/html/dynamicSpots/navigation.jsp?rootClass=wpthemeHeaderNav&startLevel=0&primeRoot=true- Register theme
- Export theme from dev...
cd /opt/IBM/WebSphere/PortalServer/bin ./xmlaccess.sh -in /opt/IBM/WebSphere/PortalServer/doc/xml-samples/ExportThemesAndSkins.xml \ -url http://dev:14000/wps/config \ -out /tmp/theme_output.xml \ -user wpsadmin\ -password mypassword- Clean up to only have myco themes and skins
We need the following themes and skins...
<skin objectid="ZK_DA9O9B1A0O41F0AIA6D56I12V3" uniquename="MyCoNoSkin"/>
<skin objectid="ZK_DA9O9B1A0O41F0AIA6D56I12V1" uniquename="MyCoHidden"/>
<skin objectid="ZK_DA9O9B1A0O41F0AIA6D56I12V5" uniquename="MyCoStandard"/>
<skin objectid="ZK_VCMO9B1A00RID0IA81U58B3080" uniquename="myco.skin.MyCoSkin"/>
<skin objectid="ZK_VCMO9B1A0GL950IAQ00TNO2047" uniquename="myco.skin.MyCoCommNewsSkin"/>
<theme objectid="ZJ_DA9O9B1A0O41F0AIA6D56I12V7" uniquename="MyCoTheme"/>We also need the following themes and skins, but they should already be installed, so no need to import...
<skin objectid="ZK_CGAH47L0084G00I4BONHCQ10C1" uniquename="wps.skin.noSkin"/>
<skin objectid="ZK_DA9O9B1A0GPE90AICVHIM12O44" uniquename="ibm.portal.80Hidden"/>
<skin objectid="ZK_DA9O9B1A0GPE90AICVHIM12O42" uniquename="ibm.portal.80Standard"/>
<skin objectid="ZK_DA9O9B1A0GPE90AICVHIM12O46" uniquename="ibm.portal.80NoSkin"/>
<theme objectid="ZJ_DA9O9B1A0GPE90AICVHIM12O41" uniquename="ibm.portal.80Theme"/>- Copy file to new host
- Import into QA
cd /opt/IBM/WebSphere/PortalServer/bin ./xmlaccess.sh -in /home/wasadmin/theme_output.xml -user "cn=adminqa,OU=Service Accounts,OU=WepSphere,OU=Enterprise Services,DC=myco,DC=ad,DC=local" -password mypass -url http://qa:14000/wps/config -out /home/wasadmin/import_theme_log.xml- Install custom wars...
- CommunityNews286.war
- LoginPortlet.war
- Theme Analyzer
- Extended Cached Monitor
- SplitSecond_war
- Copy the following files from Portal v6 Production to new portal v8 env...
${WAS_INSTALL_ROOT}/optionalLibraries/IBM/JWL/2.0/odc-jsf.jar
${WAS_INSTALL_ROOT}/optionalLibraries/IBM/JWL/2.0/jsf-ibm.jar- From Portal v8 WAS console, create...
Shared Libraries > JWLLib
...for each of the following scopes..
- cells:cell:nodes:nodedmgr:servers:dmgr
- cells:cell:nodes:node1:servers:server1
- cells:cell:nodes:node2:servers:server1
For each JWLLib, set Classpath...
${WAS_INSTALL_ROOT}/optionalLibraries/IBM/JWL/2.0/odc-jsf.jar
${WAS_INSTALL_ROOT}/optionalLibraries/IBM/JWL/2.0/jsf-ibm.jar- Optional. MyCo is not currently using even though it is installed in PROD
Copy into place...
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.adapters.siebel/shared/app/wpai/wpai.siebel.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.adapters.psft8/shared/app/wpai/wpai.peoplesoft8.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.adapters.sap/shared/app/wpai/wpai.sap.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.mediators.command/shared/app/wpai/wpai.mediators.command.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.mediators.siebel/shared/app/wpai/wpai.mediators.siebel.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.mediators.psft8/shared/app/wpai/wpai.mediators.psft8.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.mediators.sap/shared/app/wpai/wpai.mediators.sap.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.mediators.domino/shared/app/wpai/wpai.mediators.domino.jarFrom Portal v8 WAS console, create...
Shared Libraries > SDOMediatorsLib
...for each of the following scopes...
- cells:cell:nodes:node1
- cells:cell:nodes:node2
For each SDIMediatorsLib, set Classpath...
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.adapters.siebel/shared/app/wpai/wpai.siebel.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.adapters.psft8/shared/app/wpai/wpai.peoplesoft8.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.adapters.sap/shared/app/wpai/wpai.sap.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.mediators.command/shared/app/wpai/wpai.mediators.command.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.mediators.siebel/shared/app/wpai/wpai.mediators.siebel.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.mediators.psft8/shared/app/wpai/wpai.mediators.psft8.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.mediators.sap/shared/app/wpai/wpai.mediators.sap.jar
/opt/IBM/WebSphere/PortalServer/bp/wp.wpai.data.mediators.domino/shared/app/wpai/wpai.mediators.domino.jar
${WPS_HOME}/shared/app/contentLibAdd SDOMediatorLib to...
Application servers > WebSphere_Portal > Class loader > Classloader_1257635966844 > Library Reference
Appendix
Multilingual system
Important: Do not syndicate any WCM libraries before the MLS configuration.
On each portal node in the cluster, run...
- Set WasPassword and PortalAdminPwd in wkplc.properties
- Run...
cd /opt/IBM/Portal/WebSphere1/wp_profile/ConfigEngine
./ConfigEngine.sh register-wcm-mls
./ConfigEngine.sh deploy-wcm-mls
./ConfigEngine.sh import-wcm-mls-data -DVirtualPortalContext=brandb-vp- To have the home page render in Espanol...
- Log on to the virtual portal
- From Administration | Manage Pages | Content Root | Welcome to BrandB | Edit Page Layout
- For the Web Content Viewer portlet, select Edit Shared Settings
- Go to Advanced Options and highlight com.ibm.workplace.wcm.ml.contextprocessor.MLContextProcessor in the Context Processors panel.
![]()
- Click OK
- Restart WebSphere Portal.
See: Multilingual deployment, installation, and configuration