Prerequisites and System Requirements
- Supported operating systems:
- Linux RHEL/CentOS 6
- Linux RHEL/CentOS 7
- The list of packages that should be installed before FIXEdge's installation:
- unzip
libtool-ltdl
To install them use the following commands with superuser permissions:
$ sudo yum install unzip $ sudo yum install libtool-ltdl
The list of ports that should be opened:
- TCP: 8005, 8901, 8902, 8905.
- UDP: 1234
Deployment of FIXEdge
FIXEdge Components
- FIXEdge-x.x.x.tar.gz
engine.license
fixicc-x.x.x.zip - this package is used for launching FIX Integrated Control Center on Windows PC
Steps to Install
Expected packages are located in /home/user/downloads.
The installation assumes that FIXEdge will be installed in /home/user/B2BITS under user's home directory.
Create B2BITS directory:
$ cd /home/user/ $ mkdir B2BITS
Unpack the FIXEdge-x.x.x.tar.gz archive:
$ tar xvf downloads/FIXEdge-x.x.x.tar.gz -C /home/user/B2BITS
Put the engine.license file into the FIXEdge's directory:
$ cp downloads/engine.license /home/user/B2BITS/FIXEdge/
Install FIXICC Agent daemon with sudo user rights:
$ cd /home/user/B2BITS/FIXEdge/fixicc-agent/bin/ # ./installDaemon.sh
Start FIXICC Agent daemon:
$ ./startDaemonNoPriv.sh
It can take up to several minutes to start at the first time:
Launch FIXICC on local (Linux) machine or on Windows PC (use the fixicc-x.x.x.zip package):
Linux$ ./B2BITS/FIXEdge/fixicc/bin/fixicc
Windows\fixicc\bin\fixicc.exe
Use option 'Add Server' to add FIXEdge server with the following parameters:
Type: B2BITS FIX Edge Host: localhost (or host of the machine with FIXEdge) Port: 8005 Username: admin Password: admin
Select 'Connect' option in the context menu of the created server.
Select 'Start Server' option in the context menu of the created server.
Please refer to FIXICC User Guide for detailed instructions.
Installation complete
See also:
How to setup secure SSL/TLS connесtion between FIXEdge, FIXICC-agent and FIXICC
How to change FIXICC Agent password
Troubleshooting
FIXICC doesn't connect to FIXICC agent
Go to the /home/user/B2BITS/FIXEdge/fixicc-agent/logs directory and open fixicc-agent.log with any text editor.
Check if the following notes exist in the log:
INFO|13743/0|Service FIXICC - Agent Server|14-06-19 20:39:15|Agent is started successfully INFO|13743/0|Service FIXICC - Agent Server|14-06-19 20:39:15|Agent started on port: 8005
- If the notes are absent then go to the 'FIXICC agent doesn't start' section.
- Select the 'Edit Server' option in the context menu of the FIXEdge server in FIXICC.
- Make sure that the value of the 'Port' and 'Host' in the 'Basic Settings' corresponds to the FIXICC Agent port and the host of the FIXEdge machine.
Make sure that all ports from the 'Prerequisites and system requirements' section are opened and reachable by
telnet
from the remote host.telnet <remote host> 8005
FIXICC agent doesn't start
Go to the /home/user/B2BITS/FIXEdge/fixicc-agent/logs directory and open fixicc-agent.log with any text editor.
- Find the messages with [ERROR] and [FATAL] level. These messages are able to help with the understanding of the possible issues. If there is a requirement for technical assistance then contact the support team SupportFIXProducts@epam.com.
FIXEdge doesn't start from FIXICC
Go to the B2BITS/FIXEdge/bin directory and run FIXEdge:
$ cd /home/user/B2BITS/FIXEdge/bin $ ./FixEdge1.run.sh
- If the script was executed successfully then go to the /home/user/B2BITS/FIXEdge/fixicc-agent/logs directory and open fixicc-agent.log with any text editor (otherwise go to the 'FIXEdge doesn't start with 'FixEdge1.run.sh' script' section).
Check if the following note exists in the log and make sure that the path presented below lead to the existing engine.properties file:
[UtilProperties] Properties load successful: /home/user/B2BITS/FIXEdge/fixicc-agent/../FIXEdge1/conf/engine.properties
- If the note is absent find the messages with [ERROR] and [FATAL] level. These messages are able to help with understanding of the possible issues. If there is a requirement for technical assistance then contact the support team SupportFIXProducts@epam.com.
FIXEdge doesn't start with 'FixEdge1.run.sh' script
- Go to the B2BITS/FIXEdge/FIXEdge1/log directory and open FixEdge.log with any text editor.
- Find the messages with [ERROR] or [FATAL] level. These messages are able to help with understanding of the possible issues. If there is a requirement for technical assistance then contact the support team SupportFIXProducts@epam.com.
FIXEdge cannot start with an incorrect or expired license
Go to the B2BITS/FIXEdge/FIXEdge1/log directory and open FixEdge.log with any text editor.
Request a new license file from the sales team sales@btobits.com if the FixEdge.log file contains the following error:
ERROR [Engine] 140410078865152 License is expired - components will be stopped! Please contact us at SupportFIXAntenna@epam.com for further assistance.
Make sure that the license file has a correct 'engine.license' name and placed in the root directory of FIXEdge if the FixEdge.log file contains the following error:
ERROR [FL_FixEngine] 140029176809248 Unable to initialize EngineAdaptor. Reason: Please check the FIX Engine's settings: Cannot open the file "/home/user/B2BITS/FIXEdge/bin/../engine.license" (the "LicenseFile" property). No such file or directory. (Error code = 2)
Restart FIXEdge after updating the license to apply the changes.
Binary files and shell scripts have no "executable" permissions
Set the permissions for the needed files with the following command:
$ chmod 755 /home/user/B2BITS/FIXEdge/fixicc-agent/bin/*
How to see if a specific port is used
To ensure that port 8005 is not used, using the netstat
or the ss
command.
netstat -na | grep :8005 ss -na | grep :8005 lsof -i:8005
If the output is blank, then the port is not currently used.
Open FIXEdge ports using firewalld
In RHEL 7 the tool firewall-cmd
is used for updating firewall rules.
The following commands open ports 8005, 8901, 8902, 8905, 1234. The superuser permissions are required in order to change the system settings.
sudo firewall-cmd --add-port=8005/tcp --permanent sudo firewall-cmd --add-port=8901/tcp --permanent sudo firewall-cmd --add-port=8902/tcp --permanent sudo firewall-cmd --add-port=8905/tcp --permanent sudo firewall-cmd --add-port=1234/udp --permanent sudo firewall-cmd --reload
The flag--permanent
is used to keep changes after the host reboot.To verify the changes run the following command (superuser permissions are required)
sudo firewall-cmd --list-ports
In RHEL 6 ports should be open by modifying iptables.