From b3e710fe50f676e07196ccc92f1cb14bb055c9be Mon Sep 17 00:00:00 2001 From: Alexandre P <apo@kereval.com> Date: Thu, 15 Dec 2022 12:01:25 +0100 Subject: [PATCH] Add wildfly26 installation documentation --- General/wildfly26.md | 202 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100755 General/wildfly26.md diff --git a/General/wildfly26.md b/General/wildfly26.md new file mode 100755 index 0000000..8e2bb40 --- /dev/null +++ b/General/wildfly26.md @@ -0,0 +1,202 @@ +--- +title: Wildfly 26 +subtitle: Installation +author: Alexandre POCINHO +date: 14/12/2022 +toolversion: 26.1.2.Final +releasedate: 2022-12-14 +function: Random developer +version: 1.01 +status: Draft +reference: KER1-MAN-IHE-WILDFLY_26_INSTALLATION-0_01 +customer: IHE-EUROPE +--- + +## Purpose + +This page describes the prerequisite to the installation of Gazelle +applications. All the tools developed in the context of the Gazelle +testbed project are developed for WildFly and JBoss (5.0.1-GA, 7.2.0.final, 8.0.0.Final, 10.0.0.Final, 18.0.1.Final, 26.1.2.Final) and +use a postgreSQL database. + +We recommand to install the Gazelle tools in a Debian-like environment, +it's the environment running on IHE Europe servers so we know that it is +correctly working. Moreover, most of the installation and configuration +procedures are described for such an environment. + +## PostgreSQL + +We are currenlty using PostgreSQL 9.6 on most of our servers. + +## Install a JVM + +Our applications running on wildfly26 are using java 11. Consider +installing +[openJDK](http://openjdk.java.net/install/ "http://openjdk.java.net/install/"). + +```bash +sudo apt-get update && sudo apt-get install openjdk-11-jre +``` + +## Install Wildfly 26 application server + +### Get package and init script + +- Wildfly package can be downloaded from:Â [https://gazelle.ihe.net/wildfly26/wildfly-26.1.2.Final.zip](https://gazelle.ihe.net/wildfly26/wildfly-26.1.2.Final.zip) + +```bash +wget -nv -O /tmp/wildfly-26.1.2.Final.zip https://gazelle.ihe.net/wildfly26/wildfly-26.1.2.Final.zip +``` + +- init.d script can be downloaded from:Â [https://gazelle.ihe.net/wildfly26/init.d-wildfly26](https://gazelle.ihe.net/wildfly26/init.d-wildfly26) + +```bash +wget -nv -O /tmp/init.d-wildfly26 https://gazelle.ihe.net/wildfly26/init.d-wildfly26 +``` + +## Install jboss in the /usr/local folder + +```bash +cd /usr/local +sudo mv /tmp/wildfly-26.1.2.Final.zip . +sudo unzip ./wildfly-26.1.2.Final.zip +sudo ln -s wildfly-26.1.2.Final wildfly26 +sudo rm -rf wildfly-26.1.2.Final.zip +sudo chown -R jboss:jboss-admin /usr/local/wildfly-26.1.2.Final +sudo chmod -R 755 /usr/local/wildfly-26.1.2.Final +sudo mkdir /var/log/wildfly26/ +sudo chown -R jboss:jboss-admin /var/log/wildfly26/ +sudo chmod -R g+w /var/log/wildfly26/ +``` + +## Install the init script and make it start at system startup + +```bash +sudo mv /tmp/init.d-wildfly26 /etc/init.d/wildfly26 +sudo chmod +x /etc/init.d/wildfly26 +sudo chown root:root /etc/init.d/wildfly26 +sudo update-rc.d wildfly26 defaults +``` + +Once the init.d script is setup, Wildfly server can be started, restarted, stopped or queried about its status using the commands: + +```bash +sudo systemctl start|restart|stop|status wildfly26.service +``` + +## Install or update PostgreSQL JDBC driver + +1. Stop jboss and go to : + + ```bash + sudo mkdir -p /usr/local/wildfly26/modules/org/postgresql/main + cd /usr/local/wildfly26/modules/org/postgresql/main + ``` + +2. Download driver + + ```bash + sudo wget https://gazelle.ihe.net/wildfly26/postgresql-42.2.9.jar + sudo chown jboss:jboss-admin postgresql-42.2.9.jar + sudo chmod 775 postgresql-42.2.9.jar + ``` + +3. Create (if not exists) the module.xml file + + ```bash + touch ./module.xml + ``` + +4. Edit it with the following content + + ```bash + sudo nano module.xml + ``` + + ```xml + <module xmlns="urn:jboss:module:1.1" name="org.postgresql"> + <resources> + <resource-root path="postgresql-42.2.9.jar"/> + </resources> + <dependencies> + <module name="javax.api"/> + <module name="javax.transaction.api"/> + </dependencies> + </module> + ``` + +5. Add the driver to the standalone.xml file + + ```bash + sudo nano /usr/local/wildfly26/standalone/configuration/standalone.xml + ``` + + ```xml + <datasources> + ... + <drivers> + ... + <driver name="postgresql" module="org.postgresql"> + <driver-class>org.postgresql.Driver</driver-class> + <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class> + </driver> + </drivers> + </datasources> + ``` + +6. Clean up your jboss + + ```bash + sudo rm -rf /usr/local/wildfly26/standalone/tmp/ + sudo rm -rf /usr/local/wildfly26/standalone/data/ + ``` + +7. Restart Wildfly server and deploy your artifact + +## Setup datasources for Gazelle applications + +Most of Gazelle projects have extracted datasources. In order to deploy those projects, you will need to include some special +instructions in your wildfly server configuration file : + +Stop Wildfly and edit standalone.xml in /usr/local/YOUR_JBOSS_SERVER/standalone/configuration folder and update datasources : + +```xml + <datasources> + ... + <datasource pool-name="YOUR_TOOL_DATASOURCES" jndi-name="java:jboss/datasources/YOUR_TOOL_DATASOURCES" + enabled="true" use-java-context="true"> + <connection-url>jdbc:postgresql://localhost:5432/YOUR_TOOL_DB</connection-url> + <driver>postgresql</driver> + <security> + <user-name>YOUR_USER_NAME</user-name> + <password>YOUR_PASSWORD</password> + </security> + <pool> + <min-pool-size>MIN_POOL_SIZE</min-pool-size> + <max-pool-size>MAX_POOL_SIZE</max-pool-size> + <prefill>false</prefill> + <use-strict-min>false</use-strict-min> + <flush-strategy>FailingConnectionOnly</flush-strategy> + </pool> + <validation> + <check-valid-connection-sql>select 1</check-valid-connection-sql> + <validate-on-match>false</validate-on-match> + <background-validation>false</background-validation> + <use-fast-fail>false</use-fast-fail> + </validation> + <timeout> + <idle-timeout-minutes>10</idle-timeout-minutes> + <blocking-timeout-millis>30000</blocking-timeout-millis> + </timeout> + <statement> + <prepared-statement-cache-size>30</prepared-statement-cache-size> + <track-statements>false</track-statements> + </statement> + </datasource> + </datasources> +``` + +**NOTE :** YOUR_TOOL_DATASOURCES can be found in TOOL-ds.xml file (/src/main/application/META-INF of your ear folder) +or in the application user manual. + +Finally, restart your Wildfly to take into account your config. -- GitLab