Cluster Installation – setting WCM_HOST and WCM_PORT

When you set up a WebSphere Portal cluster, the WCM_HOST and WCM_PORT environment variables need to be changed so they point to your webserver address. This is important for syndication. If you don’t make this change, syndication will go through the individual node instead of the load balancing webserver. This is a problem if the individual node goes down – syndication will also stop too!

We don’t really give you a ‘scriptable’ way to do this, which would be good if you needed to do it many many times. The manual steps are described in the infocenter topic for Portal 7.0 here (step 10).

This is easily remedied with a quick ConfigEngine script:

<target name="point-wcm-at-webserver">
    <wplc-remove-variable
                                 cell="${CellName}"
                                 node="${NodeName}"
                                 server="${ServerName}"
                                 wasuser="${WasUserid}"
                                 waspassword="${WasPassword}"
                                 name="WCM_HOST">
     </wplc-remove-variable>

     <wplc-remove-variable
                                 cell="${CellName}"
                                 node="${NodeName}"
                                 server="${ServerName}"
                                 wasuser="${WasUserid}"
                                 waspassword="${WasPassword}"
                                 name="WCM_PORT">
     </wplc-remove-variable>


    <wplc-create-variable
                         cell="${CellName}"
                         node="${NodeName}"
                         server="${ServerName}"
                         wasuser="${WasUserid}"
                         waspassword="${WasPassword}"
                         conntype="${wsadminConnType}"
                         name="WCM_HOST"
                         value="${WebServerHost}"
                         description="">
    </wplc-create-variable>

    <wplc-create-variable
                         cell="${CellName}"
                         node="${NodeName}"
                         server="${ServerName}"
                         wasuser="${WasUserid}"
                         waspassword="${WasPassword}"
                         conntype="${wsadminConnType}"
                         name="WCM_PORT"
                         value="80"
                         description="">
    </wplc-create-variable>


</target>

Simply copy this to a new xml file under PortalServer/wcm/prereq.wcm/config/includes, and then on each node in your cluster, run

./ConfigEngine.sh point-wcm-at-webserver -DWebServerHost=www.yourwebserver.com

Alternatively, if you don’t want to copy the script to each node, you can set the ServerName and NodeName variables on the command line too and just invoke the task as many times as you have cluster nodes.

This entry was posted in howto. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *