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.
Common Steps
The following steps must be performed on each server as a root user.
To prepare for install:
Create the
WFUSERgroup (the group and GID must be the same on each server):$ groupadd wfuserCreate the runtime user and add it to the group (the user and UID must be the same on each server):
$ useradd -m -g wfuser wfuserCreate the installation directory:
$ mkdir /opt/workfusion $ 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 supervisordConfigure
cron.Follow the instructions below, only if /etc/cron.allow, or /etc/cron.deny, or the PAM (Pluggable Authentication Modules) configurations are changed.
cat << EOF >> /etc/cron.allow wfuser EOFCheck that
WFUSERisn't restricted by the PAM policies, otherwise the similar error appears:[wfuser@rhel-server]$ crontab -e You (wfuser) are not allowed to access to (crontab) because of pam configuration.To enable the user to use cron, in the login access control table file, use the following entry, which allows
WFUSERto run Cron jobs:$ vi /etc/security/access.conf # Allow the coins user to run cron jobs +: wfuser : cron crond :0 #Ensure it is above the last entry: # Deny all other users access by any means. -: ALL : ALLUnpack the nginx binary and enable the capability to bind it to a port below 1021.
Run this step, if your config.yml file contains the following key-value: nginx_<SERVER_ROLE>_port: below 1025.
For example, if you set `nginx_db_port: 80` or `nginx_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, because nginx is not 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 Server
To configure BEP Master:
Configure 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.
Run as root
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:
Run as root
sysctl -p /etc/sysctl.d/workfusion.conf
Install the required packaged dependencies for BEP Master:
Run as root
yum -y install libevent \ nfs-utils \ boost \ redhat-lsb-coreSetup the nfs-server:
Enable and start rpcbind:
Run as root
systemctl enable rpcbind systemctl daemon-reload systemctl start rpcbindCreate directories to be exported:
Run as root
$ 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:
Run as root
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 Server
To configure BEP Agent, run the following commands as a root user:
Install the required packages for BEP Agent Server(s) from the RHEL repository:
yum -y install libtiff \ libtiff-tools \ jbigkit-libs \ libjpeg-turboConfigure 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