Introduction
The WEB role provides the following functionality to the jtel platform.
- Web Server Application for Agents, Supervisors and Administrators
- SOAP Web Service API
WEB requires access to STORE, and DATA.
The web server is provided by the java based wildfly server, and uses port 8080. The load balancer (LB) is used to distribute sessions to the webserver(s), and to decrypt https if installed. The WEB role runs internally behind the LB role and does not use encryption.
Pre-Requisites
STORE must be connected before installing this role.
Installation
MySQL Client
Install the mysql repository for enterprise Linux 8.x and the mysql community client as follows.
This disables some default repos which are activated by the base CentOS 8.x installation:
# Disable some default stuff dnf config-manager --disable mysql-connectors-community dnf config-manager --disable mysql-tools-community dnf -y module disable mysql # Install the Oracle MySQL repo and the client dnf -y install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm dnf -y install mysql-community-client
Symbolic Link for Store
Since access to the store is performed using UNC paths, this path must be created and linked to the location of the STORE mount:
mkdir /acd-store ln -s /home/jtel/shared /acd-store/shared
This will enable the webserver to access paths like: //acd-store/shared
Install Java Runtime
wget https://cdn.jtel.de/downloads/java/jdk-8u202-linux-x64.rpm dnf -y install ./jdk-8u202-linux-x64.rpm rm -f jdk-8u202-linux-x64.rpm
Install Wildfly
The following commands will install and configure the wildfly server as a systemd service:
cd /home/jtel wget http://cdn.jtel.de/downloads/jboss/wildfly-18.0.1.Final.01.tar.gz tar xzf wildfly-18.0.1.Final.01.tar.gz rm -f wildfly-18.0.1.Final.01.tar.gz mkdir -p wildfly-18.0.1.Final/standalone/deployments chown -R jtel:jtel wildfly-18.0.1.Final mkdir -p /home/jtel/upload chown -R jtel:jtel /home/jtel/upload
Configure Firewall
The following commands open the necessary ports in the firewall:
firewall-cmd --zone=public --add-port=5701-5801/tcp --permanent firewall-cmd --zone=public --add-port=5455/tcp --permanent firewall-cmd --zone=public --add-port=8080-8081/tcp --permanent firewall-cmd --zone=public --add-port=4447/tcp --permanent firewall-cmd --zone=public --add-port=5445/tcp --permanent firewall-cmd --zone=public --add-port=20640/udp --permanent firewall-cmd --zone=public --add-port=20642/udp --permanent firewall-cmd --zone=public --add-port=20644/udp --permanent firewall-cmd --reload
Als nächstes kann nun der angepasste Application Server heruntergeladen und installiert werden:
Install AS: CentOS 7.7 and higher
|
Als nächstes müssen in der Firewall die Port-Freigaben für den jboss AS Dienst eingetragen und persistent gespeichert werden:
Configure firewall
|
Erforderliche Anpassungen der Konfiguration
Die Konfiguration des jboss AS Servers erfolgt über eine bzw. im Falle von Software Version >= 3.06 zwei Konfigurationsdateien. Wird eine Version der Software >= 3.06 verwendet, ist auch im Konfigurationsverzeichnis des jboss AS eine Kopie der Datei hazelcast.xml
hinterlegt. Da diese bereits im Zuge der Installation des primären DATA-Servers erstellt wurde und in der Dateifreigabe vom STORE hinterlegt wurde, kann sie einfach zum Zielort kopiert werden:
Copy hazelcast.xml
|
Des weiteren sind Anpassungen an der Konfigurationsdatei standalone.xml
notwendig. Bei installation mehrerer Server mit der WEB-Rolle bietet es sich an, nach initialer Konfiguration, diese Datei auch in die Dateifreigabe abzulegen, um die Installation zu beschleunigen. Ist eine angepasste Version dort bereits vorhanden, kann sie mit folgendem Befehl zum Zielort kopiert werden:
Copy the file standalone-full.xml
|
Passt man hingegen die Konfiguration des ersten WEB-Servers an, so müssen einige Werte in der Datei entsprechend der Datenbankserverkonfiguration angepasst werden. Dies kann mit folgenden Befehlen erfolgen - <password> mit den entsprechenden Passwort ersetzen:
Customize the standalone-full.xml
|
Die Werte der ersten 4 Zeilen müssen entsprechend der Datenbankkonfiguration entsprechend angepasst werden:
- DBPRI: Name des primären DATA-Servers
- DBSTA: Name des DATA Servers für die Echtzeitstatistik Daten
- DBREP: Name des DATA Servers für die Ausführung der Berichte
- DBPWD: Passwort der Datenbankverbindung
Nach der Anpassung der Konfigurationsdatei standalone-full.xml
, kann diese in die zentrale Datenfreigabe gespeichert werden, um die Konfiguration der weiteren WEB-Server zu beschleunigen:
Provision of the file standalone-full.xml for the installation of additional WEB servers
|
Starten des WEB Applikations-Servers
An diesem Punkt kann der Web Server gestartet werden. Die Eingabe des folgenden Befehls aktualisiert die auszuführende Web-Applikation und startet den Webserver:
Start the web server - CentOS 7.6 and less
|
Ein ordnungsgemäßer Start kann in der Protokolldatei des Web-Servers geprüft werden. Dort sollten sich nach ca 45 Sekunden ab dem Start folgende Meldungen finden lassen:
Success media in /home/jtel/jboss-as-7.1.1.FINAL/standalone/log/server.log
|
Der weiteren kann im Falle von Software-Version >= 3.06 der Status des hazelcast-Clusters an Meldungen wie dieser erkennt werden:
Status of the hazelcast cluster
|
Diese Meldungen erscheinen jedes Mal, wenn ein Knoten des Clusters hinzugekommen, oder weggefallen ist. Im Portal muss der Parameter "ACD.UDP.Webserver.Use.Hazelcast" aktiviert werden, d.h. auf den Wert 1 gesetzt werden, damit die WebServer Hazelcast/UDPListener nutzen.
Der endgültige Test um zu zeigen, dass der Webserver ordnungsgemäß gestartet ist, ist natürlich der Aufruf direkt aus dem Browser. Unter der Annahme, dass gerade der zweite WEB-Server installiert wurde, kann man im Browser die Applikation durch Aufruf der folgenden URL erreichen: http://acd-jb2.example.com:8080/CarrierPortal/sysadmin/login
Wenn alles funktioniert, wird man von der Login-Maske begrüßt:
Installation der Software - JBOSS Installationen
Das Einbinden der offiziellen MySQL Software Repositores und die Installation des MySQL-Clients erfolgt mit folgenden Befehlen:
MySQL 8.x
Install the mysql client
|
MySQL 5.6
Install the mysql client
|
Beide Varianten
Da alle Zugriffe auf die gemeinsame Dateifreigabe über einen Windows-kompatiblen CIFS-UNC erfolgen, muss ein symbolischer Link erzeugt werden, so dass derartige Zugriffe auch unter UNIX erfolgen können. Dies erfolgt über folgenden Befehl der in der Praxis entsprechend des Namens des Rechners für die Rolle STORE anzupassen ist:
Create a symbolic link
|
Dies ermöglicht den Zugriff auf die Dateien in der Freigabe mit der UNC Angabe:
Example: Access to the share via UNC
|
Als nächstes wird die benötigte Java Laufzeitumgebung mit folgendem Befehl installiert:
Install Java runtime environment
|
Als nächstes kann nun der angepasste Application Server heruntergeladen und installiert werden:
Install AS: CentOS 7.7 and higher
|
Install AS: CentOS 7.6 and less
|
Als nächstes müssen in der Firewall die Port-Freigaben für den jboss AS Dienst eingetragen und persistent gespeichert werden:
Configure firewall
|
Als nächstes werden nun die täglichen Wartungs-Skripte im cron-Dienst angemeldet:
Enable daily maintenance scripts
|
Um die Aktualisierung der Portal-Software im jboss AS Dienstes zu vereinfachen, wird nun noch ein entsprechendes Skript erstellt:
Create the update script
|
Erforderliche Anpassungen der Konfiguration
Die Konfiguration des jboss AS Servers erfolgt über eine bzw. im Falle von Software Version >= 3.06 zwei Konfigurationsdateien. Wird eine Version der Software >= 3.06 verwendet, ist auch im Konfigurationsverzeichnis des jboss AS eine Kopie der Datei hazelcast.xml
hinterlegt. Da diese bereits im Zuge der Installation des primären DATA-Servers erstellt wurde und in der Dateifreigabe vom STORE hinterlegt wurde, kann sie einfach zum Zielort kopiert werden:
Copy hazelcast.xml
|
Des weiteren sind Anpassungen an der Konfigurationsdatei standalone-full.xml
notwendig. Bei installation mehrerer Server mit der WEB-Rolle bietet es sich an, nach initialer Konfiguration, diese Datei auch in die Dateifreigabe abzulegen, um die Installation zu beschleunigen. Ist eine angepasste Version dort bereits vorhanden, kann sie mit folgendem Befehl zum Zielort kopiert werden:
Copy the file standalone-full.xml
|
Passt man hingegen die Konfiguration des ersten WEB-Servers an, so müssen einige Werte in der Datei entsprechend der Datenbankserverkonfiguration angepasst werden. Dies kann mit folgenden Befehlen erfolgen - <password> mit den entsprechenden Passwort ersetzen:
Customize the standalone-full.xml
|
Die Werte der ersten 4 Zeilen müssen entsprechend der Datenbankkonfiguration entsprechend angepasst werden:
- DBPRI: Name des primären DATA-Servers
- DBSTA: Name des DATA Servers für die Echtzeitstatistik Daten
- DBREP: Name des DATA Servers für die Ausführung der Berichte
- DBPWD: Passwort der Datenbankverbindung
Nach der Anpassung der Konfigurationsdatei standalone-full.xml
, kann diese in die zentrale Datenfreigabe gespeichert werden, um die Konfiguration der weiteren WEB-Server zu beschleunigen:
Provision of the file standalone-full.xml for the installation of additional WEB servers
|
Starten des WEB Applikations-Servers
Wenn die Centos-Version 7.7 ist, müssen Sie den folgenden Patch ausführen, bevor Sie jboss starten
Start the web server - CentOS 7.7 and higher
|
An diesem Punkt kann der Web Server gestartet werden. Die Eingabe des folgenden Befehls aktualisiert die auszuführende Web-Applikation und startet den Webserver:
Start the web server - CentOS 7.6 and less
|
Ein ordnungsgemäßer Start kann in der Protokolldatei des Web-Servers geprüft werden. Dort sollten sich nach ca 45 Sekunden ab dem Start folgende Meldungen finden lassen:
Success media in /home/jtel/jboss-as-7.1.1.FINAL/standalone/log/server.log
|
Der weiteren kann im Falle von Software-Version >= 3.06 der Status des hazelcast-Clusters an Meldungen wie dieser erkennt werden:
Status of the hazelcast cluster
|
Diese Meldungen erscheinen jedes Mal, wenn ein Knoten des Clusters hinzugekommen, oder weggefallen ist. Im Portal muss der Parameter "ACD.UDP.Webserver.Use.Hazelcast" aktiviert werden, d.h. auf den Wert 1 gesetzt werden, damit die WebServer Hazelcast/UDPListener nutzen.
Der endgültige Test um zu zeigen, dass der Webserver ordnungsgemäß gestartet ist, ist natürlich der Aufruf direkt aus dem Browser. Unter der Annahme, dass gerade der zweite WEB-Server installiert wurde, kann man im Browser die Applikation durch Aufruf der folgenden URL erreichen: http://acd-jb2.example.com:8080/CarrierPortal/sysadmin/login
Wenn alles funktioniert, wird man von der Login-Maske begrüßt: