This How To article describes how to install IBM Business Process Manager Advanced v8.5.5 on Linux. The Launchpad is used to start the Custom installation process and I then use the BPMConfig command to create and configure the deployment environment, after the binaries have been installed.

1. Installing IBM BPM v8.5.5 Advanced Binaries

The following steps outline how to prep your Linux system and install the BPM binaries.

1.1 Extract binaries to a common directory

After you have downloaded your IBM BPM Advanced binaries for Linux, you will need to untar them all to a common directory. Your directory structure should look like the figure below:

1.2 Preparation of the Linux Operation System

The Linux operating system needs to be prepped in order to install BPM successfully. Please perform the following steps found here:

http://www-01.ibm.com/support/knowledgecenter/SSFPJS_8.5.5/com.ibm.wbpm.imuc.ebpm.doc/topics/prep_bpm_os_lin.html

1.3 Run the Launchpad

Please ensure you are running the Launchpad as a root user.

1.4 Select custom installation
  1. Select the custom install option on the left menu
  2. Verify that the Install as administrative user checkbox is checked
  3. Click Install
1.5 Installation Manager will now open
  1. Here you will see the Installation Manager screen open and it will show the components of the BPM product that will be installed on the system.
  2. Click Next
1.6 Select fixes to install
  1. Installation Manager will recommend a series of fixes to install with this installation. Select all the fixes.
  2. Click Next
1.7 Prerequisite check
  1. You may see an error like this if you are installing this on an unsupported OS. In this example, I am installing on CentOS, which is technically not a supported OS from IBM for the BPM product.
  2. Click Next to ignore this error.
1.8 Accept license agreement
  1. Scoll to the bottom of the license agreement
  2. Ensure you accept the terms
  3. Click Next
1.9 Select an install location for Installation Manager
  1. Validate the Shared Resources installation location
  2. Validate the install location for the Installation Manager
  3. Click Next
1.10 Select the WebSphere Application Server location
  1. Confirm the installation location for where WebSphere Application Server will be installed.
  2. Click Next
1.11 Confirm your language selection
  1. Confirm your language
  2. Click Next
1.12 Select the packages to install
  1. In this example, we want to install a Process Center environment, so confirm that Process Center is selected.
  2. Also, confirm that the Case Management package is selected, should you want to make use of that component.
  3. Click Next
1.13 Enter DB2 credentials
  1. Create a DB2 instance user. I chose username: dbadmin pass: dbadmin
  2. Create a DB2 fenced user. I chose username: dbadminf pass: dbadminf
  3. Create a DB2 DAS user. I chose username: dbadmind pass: dbadmind
  4. Click Next
1.14 Review summary and Install
  1. Review installation packages and locations
  2. Click Install

This process can take some time for everything to install. Keep an eye on the screen every once in a while for any errors.

1.15 Look for Successful Installation
  1. Confirm the packages are installed
  2. Under Which program do you want to start?, select None
  3. Click FInish

2. Create your Shell DB2 Databases

Before we create our deployment environment, we must manually create the required databases in DB2.

2.1 Create the BPM required databases.

The BPM product provides scripts that you can run so that you can manually create the required databases. The product requires three databases: BPMDB, PDWDB, CMNDB. Additional information can be found here:

http://www-01.ibm.com/support/knowledgecenter/SSFPJS_8.5.5/com.ibm.wbpm.imuc.ebpm.doc/topics/db_create_nd_lin_db2.html

2.2 Create the BPMDB script.

Edit the createDatabase.sql script found in BPM_HOME/BPM/dbscripts/DB2/Create. Replace @DB_NAME@ with the name that you want to use for the created database and @DB_USER@ with the user name that you want to use for the database.

For the BPMDB it should look like this:

2.3 Ensure DB2 is started

Navigate to /opt/WebSphere/AppServer/db2/adm and run ./db2start

2.4 Run the script
  1. After you have edited the createDatabase.sql, you an run the createDatabase.sh script to create the first database. Navigate to /opt/IBM/WebSphere/AppServer/db2/bin and run ./db2 -tvf /opt/IBM/WebSphere/AppServer/BPM/dbscripts/DB2/Create/createDatabase.sql
  2. Look for Success messages
2.5 Re-run the script for the other two databases

In the previous step, you created the BPMDB. Now you need to edit the script again like you did in step 2.2.

  1. Repeat steps 2.2 through 2.4 for the creation of the PDWDB and the creation of the CMNDB. See the success images for both databases below.

3. Creating the Deployment Environment

Creating the deployment environment allows us to create our WebSphere profiles and also database tables and structures.

3.1 Locate the sample BPMConfig properties file for your installation
  1. Navigate to /opt/IBM/WebSphere/AppServer/BPM/samples/config/advanced. Here you will find a list of various properties files that can be used to create the environment of your choice. In this example, we will be creating a Single Cluster Process Center environment, running with DB2 as the database.
  2. Open and review the Advanced-PC-SingleCluster-DB2.properties and edit as needed. Here is a copy of the properties file I used in this example:

##########################################

# Deployment environment properties: De1 #

##########################################

bpm.de.name=De1

# The type of product configuration: Express, Standard, Advanced, or AdvancedOnly.

bpm.de.type=Advanced

# The type of deployment environment: Process Center or Process Server.

bpm.de.environment=Process Center

# Options: true or false. If false, the database schemas are created when the deployment environment is created. If true, they need to be created manually using the generated scripts, and the bootstrapProcessServerData script needs to be run manually.

bpm.de.deferSchemaCreation=false

# The context root prefix for all web modules in this environment. If set, the context root prefix must start with a forward slash character (/).

bpm.de.contextRootPrefix=

# The virtualHost for all web modules in this environment. If a value is not set for virtualHost, the default value ‘default_host’ is used.

bpm.de.virtualHost=

######################################################################################################################################################

# Deployment environment administrator authentication alias, it cannot have the same user name as the authentication alias of the cell administrator #

######################################################################################################################################################

bpm.de.authenticationAlias.1.name=DeAdminAlias

bpm.de.authenticationAlias.1.user=bpmdeadmin

bpm.de.authenticationAlias.1.password=bpmdeadmin

######################################

# Database user authentication alias #

######################################

bpm.de.authenticationAlias.2.name=BPM_DB_ALIAS

bpm.de.authenticationAlias.2.user=dbadmin

bpm.de.authenticationAlias.2.password=dbadmin

#########################################################################################################################################################################################################################################################################################################################################################################################

# The deployment environment administrator role and authentication alias association. If you do not specify the BPMAuthor role, the authentication alias that maps to this role will be used when Process Center connects to IBM Process Server for online deployment. It must be defined in both Process Server and Process Center, and the user names and passwords must be the same. #

#########################################################################################################################################################################################################################################################################################################################################################################################

# Do not modify the name of the role mapping. Role mapping names are predefined. Specify the user name in the authentication alias that corresponds to this role.

bpm.de.roleMapping.1.name=DeAdmin

bpm.de.roleMapping.1.alias=DeAdminAlias

 

############################

# Cell properties: PCCell1 #

############################

bpm.cell.name=PCCell1

# The database at the cell level. This database is only applicable to IBM BPM Advanced and AdvancedOnly configurations. The value should correspond to the name of a database that is defined in this file.

bpm.cell.db=CellOnlyDb

##################################################

# Cell (WAS) administration authentication alias #

##################################################

bpm.cell.authenticationAlias.1.name=CellAdminAlias

bpm.cell.authenticationAlias.1.user=bpmcelladmin

bpm.cell.authenticationAlias.1.password=bpmcelladmin

##################################################

# Cell role and authentication alias association #

##################################################

# Do not modify this value. Role mapping names are predefined. Specify the user name in the authentication alias corresponding to this role.

bpm.cell.roleMapping.1.name=CellAdmin

bpm.cell.roleMapping.1.alias=CellAdminAlias

 

#################################

# Deployment manager properties #

#################################

# The name of the deployment manager node.

bpm.dmgr.nodeName=Dmgr

# The host name of the deployment manager. Do not use localhost for environments that span multiple hosts.

bpm.dmgr.hostname=localhost

# The installation location of the BPM product. If you want to use a backslash character (\) in your properties file, you must use an escape backslash before it, for example bpm.dmgr.installPath=c:\\IBM\\BPM85.

bpm.dmgr.installPath=/opt/IBM/WebSphere/AppServer

# The name of the deployment manager profile.

bpm.dmgr.profileName=DmgrProfile

# To override the default port assignments for this profile, specify a starting port number for generating and assigning ports.

bpm.dmgr.initialPortAssignment=

# The deployment manager SOAP port. This port is used to establish a connection to the deployment manager during the creation of remote nodes. Update this property after you create the deployment manager profile.

bpm.dmgr.soapPort=8879

 

#####################################

# Cluster properties: SingleCluster #

#####################################

bpm.de.cluster.1.name=SingleCluster

# Options: Application, Support, Messaging. These three capabilities correspond to the three-cluster topology that is supported by IBM BPM. If this is a single-cluster environment, specify all three of these capabilities here.

bpm.de.cluster.1.capabilities=Application,Messaging,Support

# The list of databases that are used on this cluster. Each value should correspond to the name of a database defined in this file. For a single-cluster topology, the list should include all of the databases that are used (with the exception of the CellOnlyDb in IBM BPM Advanced environments). For a three-cluster topology, the Application cluster includes all of the databases except those that are used for messaging and the Performance Data Warehouse (PDW). The messaging and PDW databases are included in the Messaging and Support clusters.

bpm.de.cluster.1.db=ProcessServerDb,SharedDb,PerformanceDb

bpm.de.cluster.1.capability.1.component.1.name=ProcessPortal

# The context root prefix for all web modules in the specified component. If set, the context root prefix must start with a forward slash character (/).

bpm.de.cluster.1.capability.1.component.1.contextRootPrefix=

 

##########################

# Node properties: Node1 #

##########################

bpm.de.node.1.name=Node1

# If the host name is the same as deployment manager, this node will be created on the same computer. Do not use localhost for environments that span multiple hosts.

bpm.de.node.1.hostname=localhost

# The installation location of the BPM product. If you want to use a backslash character (\) in your properties file, you must use an escape backslash before it, for example bpm.de.node.1.installPath=c:\\IBM\\BPM85.

bpm.de.node.1.installPath=/opt/IBM/WebSphere/AppServer

# The name of the node profile.

bpm.de.node.1.profileName=Node1Profile

# To override the default port assignments for this profile, specify a starting port number for generating and assigning ports.

bpm.de.node.1.initialPortAssignment=

###################################################

# Cluster member properties: SingleClusterMember1 #

###################################################

bpm.de.node.1.clusterMember.1.name=SingleClusterMember1

# The cluster this cluster member belongs to. This value should correspond to the name of a cluster defined in this file.

bpm.de.node.1.clusterMember.1.cluster=SingleCluster

# The proportion of requests that are sent to this cluster member

bpm.de.node.1.clusterMember.1.weight=2

bpm.de.node.1.clusterMember.1.initialPortAssignment=

 

#################################

# Database properties: SharedDb #

#################################

# Keyword to use to refer to this set of database properties. This is not the database name.

bpm.de.db.1.name=SharedDb

# The list of available options depends on the product configuration. For IBM BPM Express and Standard, the options are ProcessServer, EmbeddedECM, PDW, Messaging, and BusinessSpace. For IBM BPM Advanced, the options are ProcessServer, EmbeddedECM, PDW, CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For IBM BPM Advanced Only, the options are CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For EmbeddedECM, there is no support if the operating system for the IBM BPM environment is z/OS.

bpm.de.db.1.dbCapabilities=Messaging,BusinessSpace,CommonDB,BPC

# Options: DB2, DB2zOS, Oracle, or SQL Server.

bpm.de.db.1.type=DB2

# The host name of the database. Do not use localhost for environments that span multiple hosts.

bpm.de.db.1.hostname=localhost

bpm.de.db.1.portNumber=50000

# The name of the database.

bpm.de.db.1.databaseName=CMNDB

bpm.de.db.1.schema=dbadmin

#######################################################

# Database role and authentication alias associations #

#######################################################

# Do not modify this value. Role mapping names are predefined. Specify the user name in the authentication alias corresponding to this role.

bpm.de.db.1.roleMapping.1.name=DbUser

bpm.de.db.1.roleMapping.1.alias=BPM_DB_ALIAS

#######################################################

# Database role and authentication alias associations #

#######################################################

# Do not modify this value. Role mapping names are predefined. Specify the user name in the authentication alias corresponding to this role.

bpm.de.db.1.roleMapping.2.name=DbUserXAR

bpm.de.db.1.roleMapping.2.alias=BPM_DB_ALIAS

 

########################################

# Database properties: ProcessServerDb #

########################################

# Keyword to use to refer to this set of database properties. This is not the database name.

bpm.de.db.2.name=ProcessServerDb

# The list of available options depends on the product configuration. For IBM BPM Express and Standard, the options are ProcessServer, EmbeddedECM, PDW, Messaging, and BusinessSpace. For IBM BPM Advanced, the options are ProcessServer, EmbeddedECM, PDW, CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For IBM BPM Advanced Only, the options are CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For EmbeddedECM, there is no support if the operating system for the IBM BPM environment is z/OS.

bpm.de.db.2.dbCapabilities=ProcessServer,EmbeddedECM

# Options: DB2, DB2zOS, Oracle, or SQL Server.

bpm.de.db.2.type=DB2

# The host name of the database. Do not use localhost for environments that span multiple hosts.

bpm.de.db.2.hostname=localhost

bpm.de.db.2.portNumber=50000

# The name of the database.

bpm.de.db.2.databaseName=BPMDB

bpm.de.db.2.schema=dbadmin

#######################################################

# Database role and authentication alias associations #

#######################################################

# Do not modify this value. Role mapping names are predefined. Specify the user name in the authentication alias corresponding to this role.

bpm.de.db.2.roleMapping.1.name=DbUser

bpm.de.db.2.roleMapping.1.alias=BPM_DB_ALIAS

#######################################################

# Database role and authentication alias associations #

#######################################################

# Do not modify this value. Role mapping names are predefined. Specify the user name in the authentication alias corresponding to this role.

bpm.de.db.2.roleMapping.2.name=DbUserXAR

bpm.de.db.2.roleMapping.2.alias=BPM_DB_ALIAS

 

######################################

# Database properties: PerformanceDb #

######################################

# Keyword to use to refer to this set of database properties. This is not the database name.

bpm.de.db.3.name=PerformanceDb

# The list of available options depends on the product configuration. For IBM BPM Express and Standard, the options are ProcessServer, EmbeddedECM, PDW, Messaging, and BusinessSpace. For IBM BPM Advanced, the options are ProcessServer, EmbeddedECM, PDW, CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For IBM BPM Advanced Only, the options are CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For EmbeddedECM, there is no support if the operating system for the IBM BPM environment is z/OS.

bpm.de.db.3.dbCapabilities=PDW

# Options: DB2, DB2zOS, Oracle, or SQL Server.

bpm.de.db.3.type=DB2

# The host name of the database. Do not use localhost for environments that span multiple hosts.

bpm.de.db.3.hostname=localhost

bpm.de.db.3.portNumber=50000

# The name of the database.

bpm.de.db.3.databaseName=PDWDB

bpm.de.db.3.schema=dbadmin

#######################################################

# Database role and authentication alias associations #

#######################################################

# Do not modify this value. Role mapping names are predefined. Specify the user name in the authentication alias corresponding to this role.

bpm.de.db.3.roleMapping.1.name=DbUser

bpm.de.db.3.roleMapping.1.alias=BPM_DB_ALIAS

#######################################################

# Database role and authentication alias associations #

#######################################################

# Do not modify this value. Role mapping names are predefined. Specify the user name in the authentication alias corresponding to this role.

bpm.de.db.3.roleMapping.2.name=DbUserXAR

bpm.de.db.3.roleMapping.2.alias=BPM_DB_ALIAS

 

###################################

# Database properties: CellOnlyDb #

###################################

# Keyword to use to refer to this set of database properties. This is not the database name.

bpm.de.db.4.name=CellOnlyDb

# The list of available options depends on the product configuration. For IBM BPM Express and Standard, the options are ProcessServer, EmbeddedECM, PDW, Messaging, and BusinessSpace. For IBM BPM Advanced, the options are ProcessServer, EmbeddedECM, PDW, CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For IBM BPM Advanced Only, the options are CellScopedDB, Messaging, BusinessSpace, CommonDB, and BPC. For EmbeddedECM, there is no support if the operating system for the IBM BPM environment is z/OS.

bpm.de.db.4.dbCapabilities=CellScopedDB

# Options: DB2, DB2zOS, Oracle, or SQL Server.

bpm.de.db.4.type=DB2

# The host name of the database. Do not use localhost for environments that span multiple hosts.

bpm.de.db.4.hostname=localhost

bpm.de.db.4.portNumber=50000

# The name of the database.

bpm.de.db.4.databaseName=CMNDB

bpm.de.db.4.schema=dbadmin

#######################################################

# Database role and authentication alias associations #

#######################################################

# Do not modify this value. Role mapping names are predefined. Specify the user name in the authentication alias corresponding to this role.

bpm.de.db.4.roleMapping.1.name=DbUser

bpm.de.db.4.roleMapping.1.alias=BPM_DB_ALIAS

#######################################################

# Database role and authentication alias associations #

#######################################################

# Do not modify this value. Role mapping names are predefined. Specify the user name in the authentication alias corresponding to this role.

bpm.de.db.4.roleMapping.2.name=DbUserXAR

bpm.de.db.4.roleMapping.2.alias=BPM_DB_ALIAS

  1. Run the following command from /opt/IBM/WebSphere/AppServer/bin:

./BPMConfig.sh -create -de /opt/IBM/WebSphere/AppServer/BPM/samples/config/advanced/Advanced-PC-SingleCluster-DB2-Sample.properties

This command will take a while to complete.

3.2 Look for successful completion

After the command completes, you will see a successfully completed message.

4. Starting your Deployment Environment.

You can now start your deployment environment for the first time. We do not need to populate the database tables using the bootstrap command, as we set the bpm.de.deferSchemaCreation parameter to false. Let’s start with the Deployment Manager and Node Agent.

4.1 Start the deployment manager
  1. Navigate to /opt/IBM/WebSphere/AppServer/profiles/DmgrProfile/bin and run ./startManager.sh
4.2 Start the node agent
  1. Navigate to /opt/IBM/WebSphere/AppServer/profiles/Node1Profile/bin and run ./startNode.sh
4.3 Login to WAS console
  1. Launch a browser and go to https://localhost:9043/ibm/console and login with username: bpmdeadmin password: bpmdeadmin. You should then be presented with the screen below.
4.4 Start the application servers.
  1. Navigate to Servers > Server Types > WebSphere application servers
  2. Click the checkbox next to the application server
  3. Click Start
4.5 Look for successful startup message.

Once the server is up and running, you can now access Process Center and download Process Designer. Sometimes the server can take a long time to startup and the console will timeout. So, you will want to confirm in the logs directory in the SystemOut.log file to ensure a successful startup. The product is now fully installed and ready to use. Here is the InfoCenter link fo any additional information on the product.

http://www-01.ibm.com/support/knowledgecenter/SSFPJS_8.5.5/com.ibm.wbpm.main.doc/kc-homepage-bpm.html

Here are some relevant URLs that are related to this installation:

https://localhost:9443/ProcessCenter

https://localhost:9443/ProcessPortal