Mount the Share

The system must have access to the share on acd-store.

Checkout JREST Repository

On acd-store execute the following commands to checkout the repository:

su jtel
cd /srv/jtel/shared
git clone https://bitbucket.org/jtelgmbh/jtel-system-java-services.git

Installation - on Linux Server

To install the REST role on a Linux server, proceed as follows on the acd-rest server.

Java 17

Install java 17 as follows:

apt-get -y install openjdk-17-jdk

jrest

Install jrest as follows:

cd /home/jtel
cp -r /home/jtel/shared/jtel-system-java-services/deploy/jrest jrest
mkdir /home/jtel/jrest/log
chown -R jtel:jtel jrest
cp jrest/systemd/jrest.service /etc/systemd/system
chmod +x /home/jtel/jrest/systemd/jrest
systemctl daemon-reload
systemctl enable jrest.service

Configuration

Edit the configuration file /home/jtel/jrest/config/jtel-jrest.xml and check database access passwords and hosts etc. are correct.

Note: the serverID must be unique on each connector:

<serverID>2001</serverID>


Edit the startup file /home/jtel/jrest/systemd/jrest and check the java directory is correct (the correct java version).

Edit the logging configuration file /home/jtel/jrest/config/log4j2.xml and make sure it points to the required logging directory.

Firewall

Open the firewall port 8091 as follows:

CentOS:

firewall-cmd --zone=public --add-port=8091/tcp --permanent
firewall-cmd --reload


Debian:

ufw allow 8091/tcp

Debian for systems with only internal access via eth1:

ufw allow in on eth1 to any port 8091 proto tcp

Start Service

Start the service. 

systemctl start jrest.service

Installation - on Windows Server

To install the REST role on the windows server, proceed as follows.

Java 12

Download java 12 from here:

https://cdn.jtel.de/downloads/java/openjdk-12.0.2_windows-x64_bin.zip

Unpack this to the following directory:

c:\Apps\

This should result in the following directory structure being created:


C:\Apps\openjdk-12.0.2_windows-x64_bin\jdk-12.0.2\bin 

Note, if you do not use the paths specified above, you may have to change the configuration considerably.

Copy Files and Install

On the windows server, execute the following commands in a non-elevated command prompt:

c:
md \jrest
xcopy /E \\acd-store\shared\jtel-system-java-services\deploy\jrest C:\jrest

Configuration

Edit the configuration file, and make sure the database access (username and password) is correct:

C:\jrest\config\jtel-jrest.xml

Shortcut

Create a shortcut for start-jrest.cmd and put this into shell:startup

Configure Load-Balancer

It is best to send the requests for the REST API to the load balancer. To make this possible, the following needs to be added to the load balancer configuration.

Frontend http / https

Depending on the protocol used, either http or https may be configured. In the relevant front-end the following should be added:

# ADD THIS WHERE THE acls are:
        acl rest_req    url_reg ^\/rest\/v1.0

# ADD THIS WHERE THE use_backend directives are:
        use_backend     jtel_rest   if rest_req

# ADD THIS AT THE BOTTOM:

#---------------------------------------------------------------------
# this backend provides access to the REST API
#---------------------------------------------------------------------
backend jtel_rest
        mode            http
        compression     algo gzip
        compression     type text/xml text/html text/plain text/css text/javascript
        balance         leastconn # roundrobin
        stick-table     type ip size 20k
        stick           on src
        server          acd-tel1 acd-tel1:8091 weight 1 cookie jboss1 check inter 1m

Reload Load-Balancer

Reload the load balancer:

systemctl reload haproxy

Configure Windows Firewall

In an elevated command prompt on the windows server:

netsh advfirewall firewall add rule name="JREST" dir=in action=allow protocol=TCP localport=8091 edge=no

Start REST Server

Start the rest server on the windows machine with the shortcut.

  • No labels