Installation Steps
Internet should be available on the machine where the application is being installed and connections on port 9242 should be allowed in the network firewall to carry out the installation steps. Commands and steps marked with (HA only) tag shouldn't be executed in a standalone single server deployment. All the commands start with a # indicating that root user privileges are required to execute these commands. Trailing # is not a part of the command.
Allow ports in the firewall
For internal communication of docker swarm, you'll need to allow the communication (both inbound and outbound) on the ports: 7575/tcp, 8090/tcp, 8091/tcp and 7077/tcp.
To start the firewall on CentOS (if it isn't started already), execute the following commands. You'll have to execute these commands on all the cluster machines.:
# systemctl enable firewalld # systemctl start firewalld
To allow the ports on CentOS firewall, you can execute the following commands. You'll have to execute these commands on all the cluster machines.
# firewall-cmd --add-port=7575/tcp --permanent # firewall-cmd --add-port=8090/tcp --permanent # firewall-cmd --add-port=8091/tcp --permanent # firewall-cmd --add-port=7077/tcp --permanent # firewall-cmd --reload
Configure Log Rotation
Add the following lines in /etc/docker/daemon.json
file (create the file if not there already) and restart the docker daemon using systemctl restart docker.
Perform this step on all the machines in the cluster in case of HA deployment.
{ "log-driver": "json-file", "log-opts": { "max-size": "50m", "max-file": "3" } }
Creating a Swarm Cluster
Initialize a swarm manager with the IP address of the machine on which it is being run:
# docker swarm init --advertise-addr <ip-addr>
Installing Application
- Download the deployment script ecm-deployment.sh and place it in the
/root
directory. This script will:- delete the ecm-deployment directory in the present working directory if it exists.
- clone the ecm-deployment repository from gitlab in the present working directory.
To execute the script, give it the execute permissions and execute it.
# chmod +x ecm-deployment.sh # ./ecm-deployment.sh
Update environment variables in the following files inside
/root/ecm-deployment/docker/environment_variables
folder.common-variables.env
Name Description Do not change the default values for non-HA deployment. For HA, use SQL server cluster settings instead of the defaults. DB_URL
ECM database connection url
For example:
- jdbc:jtds:sqlserver://<MACHINE-IP or FQDN>:PORT/db_name
- jdbc:jtds:sqlserver://<MACHINE-IP or FQDN>:PORT/db_name;instanceName=SomeInstance
DB_USER
database user DB_PASSWORD
database password DB_DRIVER
JDBC driver e.g., net.sourceforge.jtds.jdbc.Driver DB_DIALECT
Database dialect e.g., org.hibernate.dialect.SQLServer2008Dialect umm-variables.env
Name Description Do not change the default values for non-HA deployment. For HA, use SQL server cluster settings instead of the defaults. DB_URL
UMM database connection url
For example:
- jdbc:jtds:sqlserver://<MACHINE-IP or FQDN>:PORT/db_name
- jdbc:jtds:sqlserver://<MACHINE-IP or FQDN>:PORT/db_name;instanceName=SomeInstance
DB_USER
database user DB_PASS
database password DB_DRIVER
JDBC driver e.g., net.sourceforge.jtds.jdbc.Driver DB_DIALECT
Database dialect e.g., org.hibernate.dialect.SQLServer2008Dialect Change the following variables as per your environment PRIM_FINESSE_IP
Primary Finesse URL including port (if not 80 or 443)
For example:
- http://finesse10-5.com
- https://finesse12-0.com:8445
SEC_FINESSE_IP
Secondary Finesse URL including port (if not 80 or 443)
For example:
- http://finesse10-5.com
- https://finesse12-0.com:8445
FINESSE_USER
Finesse administrator user FINESSE_PASS
Finesse administrator password ADMIN_PASS
Password of the admin user
clm-variables.env
Name Description DB_URL
CallerList database connection url
For example:
- jdbc:jtds:sqlserver://<MACHINE-IP or FQDN>:PORT/db_name
- jdbc:jtds:sqlserver://<MACHINE-IP or FQDN>:PORT/db_name;instanceName=SomeInstance
DB_PASS Database password DB_USER Database username DB_DRIVER JDBC driver e.g., net.sourceforge.jtds.jdbc.Driver DB_DIALECT Database dialect e.g., org.hibernate.dialect.SQLServer2008Dialect prompt-variables.env
Name Description DB_URL CallerList database connection url
For example:
- jdbc:jtds:sqlserver://<MACHINE-IP or FQDN>:PORT/db_name
- jdbc:jtds:sqlserver://<MACHINE-IP or FQDN>:PORT/db_name;instanceName=SomeInstance
DB_PASS Database password DB_USER Database username DB_DRIVER JDBC driver e.g., net.sourceforge.jtds.jdbc.Driver DB_DIALECT Database dialect e.g., org.hibernate.dialect.SQLServer2008Dialect PRIM_IP Cisco UCCX Publisher URL
SEC_IP Cisco UCCX Subscriber URL
frontend-variables.env
Name Description GAT_URL Provide the URL of Umm :
http://<machine_IP>:<PORT>/<microservice>(microservice = umm)
- Get domain/CA signed SSL certificates for ecm FQDN/CN and place the files in
/root/ecm-deployment/docker/certificates
folder. The file names should beserver.crt
andserver.key
. Execute the following commands inside /root/ecm-deployment directory. You just need to execute this on any one of the machines even in case of HA cluster:
# chmod 755 install.sh # ./install.sh
Run the following command to ensure that all the components are up and running. The screenshot below shows a sample response for a standalone non-HA deployment.
# docker service ls
Adding License
- Browse to https://FQDN/umm in your browser (FQDN will be the domain name assigned to the IP/VIP).
- Click on the red warning icon on right, paste the license in the field and click save.