Mount the ShareThe system must have access to the share on acd-store. Checkout JREST RepositoryOn acd-store execute the following commands to checkout the repository: Code Block |
---|
su jtel
cd /srv/jtel/shared
git clone https://bitbucket.org/jtelgmbh/jtel-system-java-services.git |
Installation - on Linux ServerTo install the REST role on a Linux server, proceed as follows on the acd-rest server. Java 12Install java 12 as follows: Code Block |
---|
cd /home/jtel
wget https://cdn.jtel.de/downloads/java/openjdk-12.0.2_linux-x64_bin.tar.gz
tar xvfz openjdk-12.0.2_linux-x64_bin.tar.gz
rm -f openjdk-12.0.2_linux-x64_bin.tar.gz
chown -R jtel:jtel jdk-12.0.2 |
jrestInstall jrest as follows: Code Block |
---|
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 |
ConfigurationEdit the configuration file /home/jtel/jrest/config/jtel-jrest.xml and check database access passwords and hosts etc. are correct. 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. Log RotationThe following script creates a logrotation configuration to store 14 days of logs, zipping every day: Code Block |
---|
cat << EOFF > /etc/logrotate.d/jrest
/home/jtel/jrest/log/jtel-rest.log {
rotate 14
daily
missingok
notifempty
compress
dateext
dateformat %Y-%m-%d.
create 644 jtel jtel
}
EOFF |
FirewallOpen the firewall port 8091 as follows: Code Block |
---|
firewall-cmd --zone=public --add-port=8091/tcp --permanent
firewall-cmd --reload |
Start ServiceStart the service. Code Block |
---|
systemctl start jrest.service |
Installation - on Windows ServerTo install the REST role on the windows server, proceed as follows. Java 12Download java 12 from here: https://cdn.jtel.de/downloads/java/openjdk-12.0.2_windows-x64_bin.zip Unpack this to the following directory: This should result in the following directory structure being created:
Code Block |
---|
C:\Apps\openjdk-12.0.2_windows-x64_bin\jdk-12.0.2\bin |
Warning |
---|
Note, if you do not use the paths specified above, you may have to change the configuration considerably. |
Copy Files and InstallOn the windows server, execute the following commands in a non-elevated command prompt: Code Block |
---|
c:
md \JRest
xcopy /E \\acd-store\shared\jtel-system-java-services\deploy\jrest C:\JRest |
ConfigurationEdit the configuration file, and make sure the database access (username and password) is correct: Code Block |
---|
C:\JRest\config\jtel-jrest.xml |
ShortcutCreate a shortcut for start-jrest.cmd and put this into shell:startup 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 / httpsDepending on the protocol used, either http or https may be configured. In the relevant front-end the following should be added: Code Block |
---|
# 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-BalancerReload the load balancer: Code Block |
---|
systemctl reload haproxy |
In an elevated command prompt on the windows server: Code Block |
---|
netsh advfirewall firewall add rule name="JREST" dir=in action=allow protocol=TCP localport=8091 edge=no |
Start REST ServerStart the rest server on the windows machine with the shortcut. |