Prepare for installation manually
If the policy in your company does not allow to run anything from root automatically, you will have to do the preinstall steps manually.
To prepare servers for the installation, run the following commands as root:
On the Linux servers, create a group for runtime user if it doesn't exist (the name of the group must be set in the <wf_group> setting in config.yml). The group and GID must be the same on each server.
You only need to do this, if you don't have a group for a runtime user. For example, if you want to use the existing Active Directory group or existing local Linux group, you may skip this step. This group must be a primary group for the runtime user.
To create a group, run the command:
$ groupadd wfuserCreate the runtime user and add it to the group (the value of <wf_user> setting must be set in config.yml). The user and UID must be the same on each server.
You only need to do this, if you don't have a runtime user. For example, if you want to use existing Active Directory user or existing local Linux user, you may skip this step.
$ useradd -m -g wfuser wfuserCreate the
INSTALL_DIRinstallation directory (by default, /opt/workfusion). You may skip this step, if you already have a designated installation directory. The runtime user must be owner for this directory.$ mkdir INSTALL_DIR $ chmod 0750 /opt/workfusion $ chown wfuser:wfuser /opt/workfusionInstall the common required packages:
yum -y install unzip \ openssl \ rsync \ python-setuptools \ coreutilsTo check the version, run the following command:
$ rpm -q opensslConfigure the limits for the maximum number of open files and the number of processing units available:
cat << EOF >> /etc/security/limits.conf * - nofile 200000 * - nproc 10240 EOFCreate the systemd service for supervisord:
cat << EOF > /etc/systemd/system/supervisord.service [Unit] Description=supervisord Requires=local-fs.target After=local-fs.target [Service] Type=simple Restart=on-failure RestartSec=10 StartLimitInterval=300 StartLimitBurst=5 User=wfuser Group=wfuser LimitNOFILE=200000 LimitNPROC=10240 ExecStartPre=/bin/bash -c 'while [ ! -f /opt/workfusion/python-site/bin/supervisord ]; do sleep 1; done; exit 0' ExecStart=/bin/bash -c 'source /opt/workfusion/environment.sh && /opt/workfusion/python-site/bin/supervisord -c /opt/workfusion/supervisord/conf/supervisord.conf' TimeoutSec=300 [Install] WantedBy=multi-user.target EOFEnable autostart for the supervisord service:
systemctl daemon-reload systemctl enable supervisordUnpack the nginx binary and enable the capability to bind it to a port below 1025. Run this step, if your config.yml file contains the following key-value:
nginx_<SERVER_ROLE>_port: **below** 1025. For example, if you setnginx_db_port: 80ornginx_db_port_ssl: 443(by default these settings are 80/443), run this step on the INT server. The same applies to all other servers. The step is not required on BEP Agent servers, since, no nginx is used on them.$ mkdir -p /opt/workfusion/nginx/bin $ cd PACKAGE_DIR $ tar -xvf sources/nginx-rhel7-1.15.8.tar.gz --strip=1 -C /opt/workfusion/nginx/bin/ $ chown -R wfuser:wfuser /opt/workfusion /usr/sbin/setcap CAP_NET_BIND_SERVICE=+eip /opt/workfusion/nginx/bin/nginx
BEP Master
Remember to run the following commands as root.
To configure BEP Master:
Configure the sysctl parameters for BEP Master:
Create file /etc/sysctl.d/workfusion.conf with the required sysctl parameters. Do not edit the standard one, as it will be overwritten by the system.
cat << EOF > /etc/sysctl.d/workfusion.conf net.ipv4.tcp_keepalive_time = 120 net.ipv4.tcp_keepalive_intvl = 15 net.ipv4.tcp_keepalive_probes = 5 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.core.somaxconn = 65535 net.ipv4.ip_local_port_range = 9000 61000 fs.file-max = 2097152 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 16384 16777216 net.core.netdev_max_backlog = 16384 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_syncookies = 1 EOFApply the configuration:
sysctl -p /etc/sysctl.d/workfusion.conf
Install the required packaged dependencies for BEP Master:
yum -y install libevent \ nfs-utils \ boost \ redhat-lsb-coreSetup the nfs-server:
Enable and start rpcbind:
systemctl enable rpcbind systemctl daemon-reload systemctl start rpcbindCreate directories to be exported:
$ mkdir /opt/workfusion/vds-data $ chmod 0750 /opt/workfusion/vds-data $ chown wfuser:wfuser /opt/workfusion/vds-dataHereinafter, VDS (Virtual Data Since) is the former name for the BEP component.
In the exports file /etc/exports, add the following line:
cat << EOF >> /etc/exports /opt/workfusion/vds-data *(fsid=0,rw,async,no_root_squash,no_subtree_check,insecure) EOFStart the nfs-server:
systemctl enable nfs-server systemctl start nfs-server
BEP Agent
Remember to run the following commands as root.
To configure BEP Agent:
Install the required packages for BEP Agent Server(s) from the RHEL repo:
yum -y install libtiff \ libtiff-tools \ jbigkit-libs \ libjpeg-turboConfigure the sysctl parameters for BEP Agents:
Create the /etc/sysctl.d/workfusion.conf file with the required sysctl parameters. Do not edit the standard one, as it will be overwritten by system.
cat << EOF > /etc/sysctl.d/workfusion.conf net.ipv4.tcp_keepalive_time = 120 net.ipv4.tcp_keepalive_intvl = 15 net.ipv4.tcp_keepalive_probes = 5 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.core.somaxconn = 65535 net.ipv4.ip_local_port_range = 9000 61000 fs.file-max = 2097152 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 16384 16777216 net.core.netdev_max_backlog = 16384 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_syncookies = 1 EOFApply the configuration:
$ sysctl -p /etc/sysctl.d/workfusion.conf
Install the required packaged dependencies for BEP Agents:
yum -y install libevent \ nfs-utils \ boost \ redhat-lsb-coreCreate a directory for NFS share:
$ mkdir /opt/workfusion/vds-data $ chmod 0750 /opt/workfusion/vds-data $ chown wfuser:wfuser /opt/workfusion/vds-dataIn /etc/fstab, add the following line:
cat << EOF >> /etc/fstab <vds_master_hostname>:/opt/workfusion/vds-data /opt/workfusion/vds-data nfs rw,bg,retrans=5000,rsize=8192,vers=3,wsize=8192,timeo=14,intr 0 0 EOFMount NFS share:
$ mount /opt/workfusion/vds-data