Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Translations Ignore


Code Block
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 rm -f wildfly-18.0.1.Final.01.tar.gz
mkdir mkdir -p wildfly-18.0.1.Final/standalone/deployments
chown chown -R jtel:jtel wildfly-18.0.1.Final
mkdir mkdir -p /home/jtel/upload
chown chown -R jtel:jtel jtel /home/jtel/upload

Configure Firewall

The following commands open the necessary ports in the firewall:

...

Code Block
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

...

ln -s /home/jtel/wildfly-18.0.1.Final wildfly-current

...


cp /home/jtel/wildfly-current/

...

systemd/wildfly

...

.service /etc/systemd/

...

system/
chmod +x /home/jtel/wildfly-current/

...

systemd/launch.sh
cd /etc/cron.daily

...


ln

...

 -s

...

 /home/jtel/wildfly-current/bin/jboss-logmaint.sh

...


ln

...

 -s

...

 /home/jtel/wildfly-current/bin/jboss-restart.sh

...


cd

...

 /usr/local/bin

...


ln

...

 -s

...

 /home/jtel/wildfly-current/bin/updatejb.sh

...


systemctl enable wildfly.service


Configure Firewall

The following commands open the necessary ports in the firewall:

Translations Ignore


Code Block
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

...


Configure Wildfly Server

First Server

Next, configure the wildfly server to attach to the database servers as appropriate.

The 4th line of this series of commands must be modified to contain the password for the database.

Status
colourRed
titleCaution Password

Translations Ignore


Code Block
DBPRI=acd-dbm
DBSTA=acd-dbs
DBREP=acd-dbr
DBPWD=<password>
sed -i -e 

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

cp /home/jtel/shared/hazelcast.xml /home/jtel/wildfly-current/standalone/configuration
chown jtel:jtel /home/jtel/wildfly-current/standalone/configuration/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

cp /home/jtel/shared/standalone.xml /home/jtel/wildfly-current/standalone/configuration
chown jtel:jtel /home/jtel/wildfly-current/standalone/configuration/standalone.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

...

"s/DATA_PRIMARY/${DBPRI}/g"

...

 -e

...

 "s/DATA_STATS/${DBSTA}/g"

...

 -e

...

 "s/DATA_REPORTS/${DBREP}/g"

...

 -e

...

 "s/DB_PASSWORD/${DBPWD}/g"

...

 /home/jtel/wildfly-current/standalone/configuration/standalone.xml

...


unset

...

 DBPWD

...


unset

...

 DBREP

...


unset

...

 DBSTA

...


unset

...

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

...

 DBPRI
cp /home/jtel/wildfly-current/standalone/configuration/standalone.xml

...

 /home/jtel/shared

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

updatejb.sh

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

08:07:38,249 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "SMSReceiver.war"
08:07:38,250 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "CarrierPortal.war"
08:07:38,250 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "jasper-utils-0.0.1-SNAPSHOT.jar"

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

08:07:24,705 INFO  [com.hazelcast.cluster.ClusterService] (hz._hzInstance_1_jtel-cluster-test5.generic-operation.thread-1) [192.168.1.32]:5701 [jtel-cluster-example] [3.5]
 
Members [3] {
        Member [192.168.1.21]:5701
        Member [192.168.1.31]:5701
        Member [192.168.1.32]:5701 this
}
 
08:07:26,713 INFO  [com.hazelcast.core.LifecycleService] (MSC service thread 1-1) [10.42.13.65]:5701 [jtel-cluster-example] [3.5] Address[192.168.1.32]:5701 is STARTED

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:

Image Removed

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

...

yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql-community-client

MySQL 5.6

...

yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum -y install mysql-community-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

mkdir /acd-store
ln -s /home/jtel/shared /acd-store/shared

Dies ermöglicht den Zugriff auf die Dateien in der Freigabe mit der UNC Angabe:
Example: Access to the share via UNC

ls -la //acd-store/shared/JTELCarrierPortal

Als nächstes wird die benötigte Java Laufzeitumgebung mit folgendem Befehl installiert:
Install Java runtime environment

yum -y install http://cdn.jtel.de/downloads/java/jdk-7u79-linux-x64.rpm

Als nächstes kann nun der angepasste Application Server heruntergeladen und installiert werden:
Install AS: CentOS 7.7 and higher

cd /home/jtel
wget http://cdn.jtel.de/downloads/jboss/jboss-as-7.1.1.FINAL.15.tar.gz
tar xzf jboss-as-7.1.1.FINAL.15.tar.gz
rm -f jboss-as-7.1.1.FINAL.15.tar.gz
mkdir -p jboss-as-7.1.1.FINAL/standalone/deployments
cp jboss-as-7.1.1.FINAL/jboss /etc/init.d
chown -R jtel:jtel jboss-as-7.1.1.FINAL
chkconfig jboss on

...

cd /home/jtel
wget http://cdn.jtel.de/downloads/jboss/jboss-as-7.1.1.FINAL.14.tar.gz
tar xzf jboss-as-7.1.1.FINAL.14.tar.gz
rm -f jboss-as-7.1.1.FINAL.14.tar.gz
mkdir -p jboss-as-7.1.1.FINAL/standalone/deployments
cp jboss-as-7.1.1.FINAL/jboss /etc/init.d
chown -R jtel:jtel jboss-as-7.1.1.FINAL
chkconfig jboss on
mkdir /home/jtel/upload
chown -R jtel:jtel /home/jtel/upload

Als nächstes müssen in der Firewall die Port-Freigaben für den jboss AS Dienst eingetragen und persistent gespeichert werden:
Configure 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 werden nun die täglichen Wartungs-Skripte im cron-Dienst angemeldet:
Enable daily maintenance scripts

cd /etc/cron.daily
ln -s /home/jtel/jboss-as-7.1.1.FINAL/bin/jboss-logmaint.sh
ln -s /home/jtel/jboss-as-7.1.1.FINAL/bin/jboss-restart.sh

Um die Aktualisierung der Portal-Software im jboss AS Dienstes zu vereinfachen, wird nun noch ein entsprechendes Skript erstellt:
Create the update script

cat <<EOFF>/usr/local/bin/updatejb.sh
#!/bin/bash
systemctl stop jboss.service
rm -rf /home/jtel/jboss-as-7.1.1.FINAL/standalone/deployments/*
rm -rf /home/jtel/jboss-as-7.1.1.FINAL/standalone/lib/*
rm -rf /home/jtel/jboss-as-7.1.1.FINAL/standalone/tmp/*
rm -rf /home/jtel/jboss-as-7.1.1.FINAL/standalone/data/*
cp /home/jtel/shared/JTELCarrierPortal/deploy/*ar /home/jtel/jboss-as-7.1.1.FINAL/standalone/deployments
chown jtel:jtel /home/jtel/jboss-as-7.1.1.FINAL/standalone/deployments/*
systemctl start jboss.service
EOFF
chmod +x /usr/local/bin/updatejb.sh

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

cp /home/jtel/shared/hazelcast.xml /home/jtel/jboss-as-7.1.1.FINAL/standalone/configuration
chown jtel:jtel /home/jtel/jboss-as-7.1.1.FINAL/standalone/configuration/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

cp /home/jtel/shared/standalone-full.xml /home/jtel/jboss-as-7.1.1.FINAL/standalone/configuration
chown jtel:jtel /home/jtel/jboss-as-7.1.1.FINAL/standalone/configuration/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

DBPRI=acd-dbm
DBSTA=acd-dbs
DBREP=acd-dbr
DBPWD=<password>
sed -i -e "s/DATA_PRIMARY/${DBPRI}/g" -e "s/DATA_STATS/${DBSTA}/g" -e "s/DATA_REPORTS/${DBREP}/g" -e "s/DB_PASSWORD/${DBPWD}/g" /home/jtel/jboss-as-7.1.1.FINAL/standalone/configuration/standalone-full.xml
unset DBPWD
unset DBREP
unset DBSTA
unset DBPRI

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

cp -a /home/jtel/jboss-as-7.1.1.FINAL/standalone/configuration/standalone-full.xml /home/jtel/shared

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

bash /home/jtel/shared/JTELCarrierPortal/Update/jboss-restart-patch.sh
updatejb.sh

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

updatejb.sh

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

...

08:07:38,249 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "SMSReceiver.war"
08:07:38,250 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "CarrierPortal.war"
08:07:38,250 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "jasper-utils-0.0.1-SNAPSHOT.jar"


Following Servers

If the configuration file has already been provided on STORE, then the following commands will copy it to the wildfly server.

Translations Ignore


Code Block
rm -f /home/jtel/wildfly-current/standalone/configuration/standalone.xml
cp /home/jtel/shared/standalone.xml /home/jtel/wildfly-current/standalone/configuration/standalone.xml
chown jtel:jtel /home/jtel/wildfly-current/standalone/configuration/standalone.xml


Configure Hazelcast Cluster

The configuration of the hazelcast cluster must now be completed.

First Server

If this is the first hazelcast.xml which is being configured for the installation, then the necessary hosts must be added or removed in the hazelcast.xml file:

Translations Ignore


Code Block
# Edit the file
vi /home/jtel/wildfly-current/standalone/configuration/hazelcast.xml

# Search for this bit (near the top) and modify accordingly
...

            <tcp-ip enabled="true">
                <member>acd-dbm</member>
                <member>acd-jb1</member>
                <member>acd-jb2</member>
                <member>acd-tel1</member>
            </tcp-ip>
...

# Copy the file
cp /home/jtel/wildfly-current/standalone/configuration/hazelcast.xml /home/jtel/shared


Following Servers

If the configuration file has already been provided on STORE, then the following commands will copy it to the wildfly server.

Translations Ignore


Code Block
rm -f /home/jtel/wildfly-current/standalone/configuration/hazelcast.xml
cp /home/jtel/shared/standalone.xml /home/jtel/wildfly-current/standalone/configuration/hazelcast.xml
chown jtel:jtel /home/jtel/wildfly-current/standalone/configuration/hazelcast.xml


Start Wildfly

Start the webserver as follows:

Translations Ignore


Code Block
updatejb.sh


Whether it is running, can be checked in the webserver log file:

Translations Ignore


Code Block
less /home/jtel/wildfly-current/standalone/log/server.log


Or by logging into the portal directly on port 8080 using a browser pointing to the following URL:

Translations Ignore


Code Block
http://acd-jb1:8080/CarrierPortal/sysadmin/login


The login page should appear, with the logo.

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

08:07:24,705 INFO  [com.hazelcast.cluster.ClusterService] (hz._hzInstance_1_jtel-cluster-test5.generic-operation.thread-1) [192.168.1.32]:5701 [jtel-cluster-example] [3.5]
 
Members [3] {
        Member [192.168.1.21]:5701
        Member [192.168.1.31]:5701
        Member [192.168.1.32]:5701 this
}
 
08:07:26,713 INFO  [com.hazelcast.core.LifecycleService] (MSC service thread 1-1) [10.42.13.65]:5701 [jtel-cluster-example] [3.5] Address[192.168.1.32]:5701 is STARTED

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: