IBM Sterling B2B: Install on Docker for Development
Follow this documentation to install Sterling B2B on Docker.
This setup is for development/proof-of-concept and was tested on my MacOs. I will not provide how to install docker on your O.S.
Procedure:
Install DB2 on Docker
Install DB2 on a Docker Container
Create my volumes
mkdir -p ˜/DockerVolumes/mydb2
Run this command
docker pull ibmcom/db2 docker run -d --name mydb2 --privileged=true -p 50000:50000 -e LICENSE=accept -e DB2INST1_PASSWORD=db2inst1 -v ˜/DockerVolumes/mydb2:/database ibmcom/db2
you can check install
docker logs -f mydb2
Create B2B database on DB2
Create a file create_db_b2b62.sql with the following data:
-- ***************************************************************** -- -- -- -- ***************************************************************** -- CODESET UTF-8 is mandatory for B2B !db2set DB2_SKIPDELETED=ON@ !db2set DB2_SKIPINSERTED=ON@ CREATE DATABASE B2B62 AUTOMATIC STORAGE YES USING CODESET UTF-8 TERRITORY DEFAULT COLLATE USING SYSTEM PAGESIZE 32768@ CONNECT TO B2B62@ CREATE BUFFERPOOL B2B62_04KBP IMMEDIATE SIZE AUTOMATIC PAGESIZE 4K@ CREATE BUFFERPOOL B2B62_08KBP IMMEDIATE SIZE AUTOMATIC PAGESIZE 8K@ CREATE BUFFERPOOL B2B62_16KBP IMMEDIATE SIZE AUTOMATIC PAGESIZE 16K@ CONNECT RESET@ CONNECT TO B2B62@ CREATE USER TEMPORARY TABLESPACE SCCUSERTMP PAGESIZE 32K BUFFERPOOL IBMDEFAULTBP@ CREATE REGULAR TABLESPACE TS_REG04_B2B62 PAGESIZE 4K BUFFERPOOL B2B62_04KBP PREFETCHSIZE AUTOMATIC@ CREATE REGULAR TABLESPACE TS_REG08_B2B62 PAGESIZE 8K BUFFERPOOL B2B62_08KBP PREFETCHSIZE AUTOMATIC@ CREATE REGULAR TABLESPACE TS_REG16_B2B62 PAGESIZE 16K BUFFERPOOL B2B62_16KBP PREFETCHSIZE AUTOMATIC@ CONNECT RESET@
Save file
Copy file to containter
docker cp create_db_b2b62.sql mydb2:/tmp
Connect to Docker container and run db2 commands
docker exec -it mydb2 bash -c "su - db2inst1" cd /tmp db2 -td@ -vf ./create_db_b2b62.sql -z ./create_db_b2b62.log
run exit to logoff from container.
Copy jdbc driver to host machine
docker cp mydb2:/opt/ibm/db2/V11.5/java/db2jcc4.jar . docker cp mydb2:/opt/ibm/db2/V11.5/java/db2jcc_license_cu.jar .
Install Sterling B2B on Docker
Load docker images locally
You must download container images from Password Advantage site. After you must load Sterling B2B container image to local registry using the following command:
docker load -i STR_B2BI_6.0.2_CONTAINER_MP_ML.tar
you can check with the command:
docker images
Create a setup.cfg file
# Upgrade UPGRADE=false #License - Specify values as true/false LICENSE_ACCEPT_ENABLE_SFG=true LICENSE_ACCEPT_ENABLE_EBICS=true LICENSE_ACCEPT_ENABLE_FINANCIAL_SERVICES=true # Security configurations SYSTEM_PASSPHRASE=passw0rd #FIPS compliance mode. Specify values as true/false ENABLE_FIPS_MODE= # NIST 800-131a compliance mode. Enter one of these values - strict/transition/off NIST_COMPLIANCE_MODE= #Initial or base port INITIAL_PORT=5800 # DB attributes DB_VENDOR=db2 DB_USER=db2inst1 DB_PASSWORD=db2inst1 DB_HOST=localhost DB_PORT=50000 DB_DATA=B2B62 DB_DRIVERS=db2jcc4.jar DB_CREATE_SCHEMA=true ORACLE_USE_SERVICE_NAME=false #Email [email protected] SMTP_HOST=2525 #Miscellaneous SOFT_STOP_TIMEOUT= #WMQ #JMS properties are optional if JMS_VENDOR is empty #To use IBMMQ for communication between ASI & AC, change property to JMS_VENDOR=IBMMQ # and provide other connection details JMS_VENDOR= JMS_CONNECTION_FACTORY= JMS_CONNECTION_FACTORY_INSTANTIATOR= JMS_QUEUE_NAME= JMS_USERNAME= JMS_PASSWORD= JMS_CONNECTION_NAME_LIST= JMS_CHANNEL= JMS_ENABLE_SSL=false JMS_KEYSTORE_PATH= JMS_KEYSTORE_PASSWORD= JMS_TRUSTSTORE_PATH= JMS_TRUSTSTORE_PASSWORD= JMS_CIPHERSUITE= JMS_PROTOCOL=TLSv1.2 #Liberty Profile SSL Config LIBERTY_KEYSTORE_PASSWORD= LIBERTY_KEYSTORE_LOCATION= LIBERTY_PROTOCOL=TLSv1.2 #jvm options. Example: LIBERTY_JVM_OPTIONS=-Xms256m;-Xmx512m LIBERTY_JVM_OPTIONS= #JCE update parameters #Set value true to update JCE UPDATE_JCE_POLICY_FILE=false #Name of JCE file. This file should be present in mapped folder JCE_POLICY_FILE= #End of Configuration
Encrypting passwords
In this example i not encrypted password.
You can encrypt the following variables: SYSTEM_PASSPHRASE, DB_PASSWORD, JMS_PASSWORD, JMS_KEYSTORE_PASSWORD, JMS_TRUSTSTORE_PASSWORD, LIBERTY_KEYSTORE_PASSWORD
To do run the following command. Example:
echo passw0rd | openssl enc -aes-256-ecb -e -a -K 4254514F6C6C2B594650496373422B764D66584E54673D3D
After change
SYSTEM_PASSPHRASE=passw0rd
to the following
SYSTEM_PASSPHRASE=ENCRYPTED:SV/xIqkXTmUZ9byaBlKlIw==