Mentions légales du service

Skip to content
Snippets Groups Projects
Commit b3e710fe authored by Alexandre Pocinho's avatar Alexandre Pocinho
Browse files

Add wildfly26 installation documentation

parent 855e210e
No related branches found
No related tags found
No related merge requests found
---
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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment