IBM Support

Changing an existing install of IBM Rational Build Forge to use IBM WebSphere Application Server and IBM HTTP Server on Linux/UNIX

Troubleshooting


Problem

This technote provides instructions how to change an existing install of IBM Rational Build Forge to use IBM WebSphere Application Server (WAS) and IBM HTTP Server (IHS) instead of the provided Tomcat and Apache. This technote assumes WAS and IHS have been already installed and can start. The database being used in this technote is IBM DB2.

Resolving The Problem

Note: This technote is aimed for Linux. Please make the necessary command and package name adjustments if you are not on this platform.

  • Prerequisites
  • Paths and Variables
  • Downloading and Configuring PHP
  • Configuring IHS for PHP and Build Forge User Interface (UI)
  • Deploying the Services Layer to WAS
  • Post WAS Deployment

Prerequisites:
The following prerequisites should be installed on the server before continuing the instructions below.

WAS 6.1.x, 7.x, 8.x
IHS 6.1.x, 7.0.0.1 or higher, 8.x
DB2 Client 9.x
Build Forge 7.1.x
gcc
make
autoconf
libxml2-devel-<version>.i686
zlib-devel-<version>.i686
openssl-devel-<version>.i686
glibc-devel-<version>.i686

Paths and Variables
The default path for each product was used and will be represented by the following variables through the technote:

BF_HOME=/opt/buildforge
WAS_PROFILE_HOME=/opt/IBM/WebSphere/AppServer/profiles
IHS_HOME=/opt/IBM/HTTPServer
DB2_HOME=/home/db2inst1/sqllib

Downloading and Configuring PHP

The PHP supplied with Build Forge is not thread safe and cannot be used with IHS. On Linux/UNIX, IHS requires modules to support multithreading.

  1. Open a Terminal
  2. cd ~
  3. mkdir prepforexternal
  4. cd prepforexternal
  5. wget http://museum.php.net/php5/php-5.3.6.tar.gz
  6. Extract php-5.3.6.tar.gz
    gzip -dc php-5.3.6.tar.gz | tar -xf -

    Note: If a 64-bit DB2 client is being used the symbolic link lib located in $DB2_HOME will need to be removed and recreated to point to the 32-bit DB2 libraries. Run the following commands from the $DB2_HOME
    rm -f lib
    ln -s /opt/ibm/db2/V9.1/lib32 lib
  7. Run the following configure command from ~/prepforexternal/php-5.3.6
    ./configure --prefix=/opt/IBM/HTTPServer/php --with-apxs2=/opt/IBM/HTTPServer/bin/apxs --with-libxml-dir=/usr --with-openssl=shared,/usr --with-zlib-dir=/lib/ --with-ibm_db2=shared,/home/db2inst1/sqllib --enable-sockets --enable-shmop --disable-cgi --with-config-file-path=/opt/IBM/HTTPServer/php/conf
  8. Run make:
    make
  9. Run make install:
    make install
  10. Navigate to $IHS_HOME/php/bin
    cd /opt/IBM/HTTPServer/php/bin
  11. Install the ibm_db2 php extension :
    ./pecl install ibm_db2
  12. When prompted for the db2 install enter the value for DB2_HOME
  13. copy the php.ini from the Build Forge install to /opt/IBM/HTTPServer/php/conf
    cp /opt/buildforge/server/apache/conf/php.ini /opt/IBM/HTTPServer/php/conf/
  14. Change the following directives to the values below:

    error_log = "/opt/IBM/HTTPServer/logs/php_error.log"
    extension_dir = "/opt/IBM/HTTPServer/php/lib/php/extensions/no-debug-zts-20090626"

Configuring IHS for PHP and Build Forge User Interface (UI)

  1. Navigate to $IHS_HOME/conf
    cd /opt/IBM/HTTPServer/conf
  2. Open httpd.conf in a text editor
    vi httpd.conf
  3. Add the following directives:
    AddType application/x-httpd-php .php
    PHPIniDir "/opt/IBM/HTTPServer/php/conf"
  4. Change the following directives to values below
    DocumentRoot "/opt/buildforge/webroot/public"
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    </Directory>
    <Directory "/opt/buildforge/webroot/public">
    DirectoryIndex index.html index.php
  5. Verify LoadModule php5_module modules/libphp5.so appears in the httpd.conf. If it does not exist in the httpd.conf it will need to be added.
  6. Save the changes
  7. Verify IHS can start
    Note: Make sure one of the following is done prior to starting IHS:
    Apache from the Build Forge install is not running
    IHS and Apache from the Build Forge install use different ports

Deploying the Services Layer to WAS
  1. Copy rbf-services.war to ~/prepforexternal
    cp /opt/buildforge/server/tomcat/webapps/rbf-services.war ~/prepforexternal
  2. Extract rbf-services.war
    /opt/buildforge/server/ibmjdk/bin/jar -xf ~/prepforexternal/rbf-services.war
  3. Open buildforge.conf in a text edu
    vi /opt/buildforge/Platform/buildforge.conf
  4. Change the port number in the services_url to the port number for WAS
    Note: The default secure WAS port is 9443
  5. Save the changes
  6. Replace the services layer buildforge.conf with the modified buildforge.conf from step 5
    cp /opt/buildforge/Platform/buildforge.conf ~/prepforexternal/WEB-INF/classes
  7. Update the rbf-services.war to contain the modified buildforge.conf
    /opt/buildforge/server/ibmjdk/bin/jar -uf rbf-services.war ~/prepforexternal/WEB-INF/classes/buildforge.conf
  8. Open a web browser
  9. Go to WAS Admin Console
    http://<server-name>:9060/ibm/console
  10. Go to Environment -> WebSphere Variables
  11. Set the scope to the node, server
  12. Click New
  13. For the Name enter RBF_JDBC_DRIVER_PATH and for the value enter $DB2_HOME/java
  14. Click Apply
  15. Click Save to save the master configuration
  16. Go to Environment -> Shared libraries
  17. Set the scope to the node, server
  18. Click New
  19. For the Name enter RBF_JDBC_LIBRARY and for the Classpath enter
    ${RBF_JDBC_DRIVER_PATH}/db2jcc.jar
    ${RBF_JDBC_DRIVER_PATH}/db2jcc_license_cu.jar
  20. Click Apply
  21. Click Save to save the master configuration
  22. Go to Applications -> New Application
  23. Click New Enterprise Application
  24. Select Remote file system
  25. Click Browse...
  26. Navigate to ~/prepforexternal
  27. Select rbf-services.war
  28. Click OK
  29. Click Next
  30. Select Detailed
  31. Click Next
  32. Uncheck Create MBeans for resources
  33. Click Next
  34. Verify the scope is correct for the module and click Next
  35. Click Next
  36. Select A Services Layer Login Servlet and click Reference shared libraries
  37. Select RBF_JDBC_LIBRARY and click the right arrow
  38. Click OK
  39. Click Next
  40. Click Next
  41. Verify the unsecure and secure API ports are correct
  42. Click Next
  43. Click Next
  44. Enter /rbf-services for the context root
  45. Click Next
  46. Click Finish
  47. After application install completes successfully click Save to save the master configuration
  48. Select Remote file system
  49. Click Browse...
  50. Browse to $BF_HOME/server/tomcat/webapps
  51. Select BuildForgeHelp.war
  52. Click OK
  53. Click Next
  54. Select Fast Path
  55. Click Next
  56. Uncheck Create MBeans for resources
  57. Click Next
  58. Verify the scope is correct for the module and click Next
  59. Click Next
  60. Enter /BuildForgeHelp for the context root
  61. Click Next
  62. Click Finish
  63. After application install completes successfully click Save to save the master configuration
  64. Go to Applications -> Application Types -> WebSphere enterprise applications
  65. Select BuildForgeHelp_war and rbf-services_war
  66. Click Start

Post WAS Deployment

  1. Open a terminal
  2. Navigate to $WAS_PROFILE_HOME/<profile-name>/installedApps/<cell-name>/rbf-services_war.ear/rbf-services.war/bin/
  3. Add the execute permission to flexhelper-<platform> and flexhelper-<platform>-IPV6
    chmod +x flexhelper-<platform>*
    Note: Substitute <platform> for the actual platform, i.e Linux-i386
  4. Verify the Build Forge Services Layer started
    netstat -na |grep 3966
    If the command shows the server listen on 3966, the rbf-services_war application successfully connects to the database
  5. Verify the licenses are being acquired by the rbf-services_war application
    tail -30 $WAS_PROFILE_HOME/<profile-name>/logs/<server-name>/SystemOut.log
    Check for any license/flexhelper errors
  6. Comment out the calls to Apache and Tomcat in the buildforge start script
    vi $BF_HOME/server/start
    comment out the following:
    apache_start
    tomcat_start
    apache_stop
    tomcat_stop
  7. Save the changes to the start script
  8. Prior to starting Build Forge start IHS and WAS
  9. Start Build Forge

Related Information

[{"Product":{"code":"SSB2MV","label":"Rational Build Forge"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Installation","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"7.1;7.1.1;7.1.1.1;7.1.1.2;7.1.1.3;7.1.1.4;7.1.2;7.1.2.1;7.1.2.2;7.1.2.3;7.1.3;7.1.3.1;7.1.3.2;7.1.3.3;7.1.3.4;7.1.3.5","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
16 June 2018

UID

swg21392263