Bonita Tomcat bundle
You will find here the mandatory and optional steps needed to install and configure the Tomcat bundle to run the Bonita platform.
The Tomcat bundle is a .zip archive that contains the Apache Tomcat Java EE application server prepackaged along with Bonita and Bonita platform setup tool. The Tomcat bundle is a regular .zip archive based on Tomcat zip distribution.
Installation of the Tomcat bundle
Download and unzip the Tomcat bundle
Download
For the Community edition:
-
Go to the Bonitasoft website and get the Bonita Community edition Tomcat bundle.
For a Subscription edition:
-
Go to the Customer Service Center and download the Bonita Subscription edition Tomcat bundle.
Unzip
The fully qualified folder path (including the Bonita-x.y.z folder) to the folder where you unzip the Tomcat bundle is referred to as <BUNDLE_HOME>
. We recommend the following locations:
-
Windows:
C:\Bonita
. -
Linux: in
/opt/Bonita
. Make sure that Linux user account used to execute Tomcat is the owner of the folders and files.
Whatever location you choose, do not leave blank spaces in the path to the directory, nor in the folder name. |
Content of the Tomcat bundle
The Tomcat bundle is based on a standard Tomcat installation with the following additions:
-
setup/tomcat-templates/setenv.bat
: script to configure JVM system properties for Windows. -
setup/tomcat-templates/setenv.sh
: script to configure JVM system properties for Linux. -
setup/tomcat-templates/bonita.xml
: Tomcat context configuration for Bonita web application. Define data sources used by Bonita Engine. -
server/conf/catalina.properties
: modified to include lib/bonita folder to Tomcat classpath. -
server/conf/context.xml
: modified to add JTA support using Narayana library. -
server/conf/log4j2-loggers.xml
: log4j2 loggers level. -
server/conf/log4j2-appenders.xml
: log4j2 appenders configuration. -
server/conf/server.xml
: modified to add listener for Narayana and h2 (see below for modification needed if you want to switch to another RDBMS). -
server/conf/jbossts-properties.xml
: configuration files for Narayana transaction manager. -
server/lib/bonita
: extra libraries needed by Bonita. The following libraries are included: Narayana JTA Transaction Manager, h2, SLF4J. -
server/webapps/bonita
: the Bonita web application. -
setup/
: a tool to manage Bonita Platform configuration, stored in database instead of filesystem. Also ships a tool to centralize all the required Tomcat bundle configuration. -
tools/request_key_utils
: folder containing the script to generate license request keys (Subscription editions only). -
tools/SSO/cas
: folder containing configuration files and description to enable SSO with CAS (Enterprise, Performance, Efficiency, or Teamwork editions only). -
tools/SSO/kerberos
: folder containing configuration files and description to enable SSO with Spnego/Kerberos (Enterprise, Performance, Efficiency, or Teamwork editions only). -
start-bonita.bat
: script to start the bundle on Windows. -
start-bonita.sh
: script to start the bundle on Linux. -
stop-bonita.bat
: script to stop the bundle on Windows. -
stop-bonita.sh
: script to stop the bundle on Linux.
Beginning with version 7.3.0, Bonita Platform configuration, including the license file, is stored in the same database as the Bonita Engine data, namely in the |
Get and install a license (Subscription editions only)
First, request a license. If this is the first time you generate a license, you need to generate a request key.
Generate the request key
On the server where you installed Bonita Platform:
-
Go to the
tools/request_key_utils
folder -
Run the
generateRequestKey.bat
script (for Windows) or thegenerateRequestKey.sh
script (for Linux)
Request the new license
-
Copy your request key and go to the Customer Service Center license request page.
-
Fill in the details in the form, copy the request key in the Request Key field, and submit. Note: keep the brackets () in the key; if the key is separated by a line break, remove it and put the key on a single line.
The license file will be sent to you by email.
When you receive your license:
Copy the file to the <BUNDLE_HOME>/setup/platform_conf/licenses
folder before starting the bundle.
Change the default credentials (optional, recommended for production)
As a security precaution, we strongly recommend that before you start your application server, you change the default username and password used for the platform administrator and for the default tenant administrator.
Platform administrator
The username and password are defined in a text file:
-
Before the very first Tomcat start:
<BUNDLE_HOME>/setup/platform_conf/initial/platform_engine/bonita-platform-community-custom.properties
-
After the first Tomcat start:
<BUNDLE_HOME>/setup/platform_conf/current/platform_engine/bonita-platform-community-custom.properties
The properties are listed below:
-
platformAdminUsername
defines the username (defaultplatformAdmin
) -
platformAdminPassword
defines the password (defaultplatform
)
This password is used for platform-level administration tasks, such as creating a tenant.
Tenant administrator
Each tenant has an administrator, with a tenant-specific username and password. The tenant administrator is also known as the tenant technical user.
When the platform is created, default values for the tenant administrator username and password are defined in the file <BUNDLE_HOME>/setup/platform_conf/initial/tenant_template_engine/bonita-tenant-community-custom.properties
, by the following properties:
-
userName
defines the username (defaultinstall
) -
userPassword
defines the password (defaultinstall
)
When you create a tenant, the tenant administrator is created with the default username and password, unless you specify new values.
Change these tenant-specific credentials for an existing tenant by updating the userName
and userPassword
properties in <BUNDLE_HOME>/setup/platform_conf/current/tenants/<TENANT_ID>/tenant_engine/bonita-tenant-community-custom.properties
.
For the default tenant, the tenant administrator username and password must also be changed in file:
For further details and a better understanding, please read the section Tenant administrator credentials. |
Configure the Tomcat bundle
If you just want to try Bonita Platform with the embedded H2 database (only for development and testing phases of your project), you can skip the next paragraph. For production, you are recommended to use one of the supported databases, with the following steps. |
-
Make sure your databases are created and customized to work with Bonita.
-
Edit file
<BUNDLE_HOME>/setup/database.properties
and modify the properties to suit your databases (Bonita internal database & Business Data database). Beware of backslash characters. -
Run
<BUNDLE_HOME>\setup\start-bonita.bat
(Windows system) or<BUNDLE_HOME>/setup/start-bonita.sh
(Unix system) to run Bonita Tomcat bundle (see Tomcat start script)
The start-bonita script does the following:
For advanced server configuration needs: check out Bundle configuration to finely tune your Tomcat bundle, using templates suggested by Bonita. |
Starting and shutting down Tomcat
Tomcat start script
Tomcat can be started by executing the following script:
-
Windows:
<BUNDLE_HOME>\start-bonita.bat
-
Linux:
<BUNDLE_HOME>/start-bonita.sh
Tomcat stop script
Tomcat can be shut down by executing the following script:
-
Windows:
<BUNDLE_HOME>\stop-bonita.bat
-
Linux:
<BUNDLE_HOME>/stop-bonita.sh
Troubleshooting:
If you see checkThreadLocalMapForLeaks
errors, they probably indicate that Tomcat is shutting down before all work threads are completed.
You can increase the work service termination timeout to ensure that work is complete before shutdown.
After installation
First steps after installation
Once you have your Tomcat bundle up and running, complete these few extra steps to get Bonita Platform fully operational.
Configuration update
To update Bonita configuration after the first run, take a look at the platform setup tool
|
License update
To update the licenses after the first run, take a look at the platform setup tool
Troubleshooting
"Invalid Java version 11. Please set JRE_HOME or JAVA_HOME system variable to a JRE / JDK 17, or add the 'java' version 17 to your PATH"
I’m getting this error message when running start-bonita.sh
or start-bonita.bat
.
Cause Bonita 2024.1+ requires Java 17 to run.
Solution Ensure your running environment has a JDK or JRE 17 installed and set either JRE_HOME or JAVA_HOME environment variable to point to it.