Instalacja WildFly pod Ubuntu 16.04 LTS

Założenia wstępne

  • Na maszynie jest już zainstalowana Java w wersji 1.8.
  • Wszystkie poniższe operacje wykonywane są na prawach root’a.

Utworzenie użytkownika wildfly wraz z grupą wildfly

adduser --no-create-home --disabled-password --disabled-login wildfly

 Pobranie i wypakowanie WildFly

Ze strony http://wildfly.org/downloads pobieramy najnowszą wersję WildFly. Na chwilę obecną jest to wersja 11.0.0.Final.

cd /opt
wget http://download.jboss.org/wildfly/11.0.0.Final/wildfly-11.0.0.Final.tar.gz
tar -xvzf wildfly-11.0.0.Final.tar.gz
ln -s /opt/wildfly-11.0.0.Final /opt/wildfly

mkdir -p /var/log/wildfly

Instalacja WildFly jako serwis

Kopiujemy domyślny plik wildfly.conf do katalogu /etc/default i zmieniamy mu nazwę na wildfly:

cp /opt/wildfly/docs/contrib/scripts/init.d/wildfly.conf /etc/default/wildfly

Zawartość pliku /etc/default/wildfly doprowadzamy do postaci:

#################################################
# General configuration for the init.d scripts, #
# not necessarily for WildFly itself.           #
# default location: /etc/default/wildfly        #
#################################################

## Location of JDK
# JAVA_HOME="/usr/lib/jvm/default-java"

## Location of WildFly
JBOSS_HOME="/opt/wildfly"

## The username who should own the process.
JBOSS_USER=wildfly

## The mode WildFly should start, standalone or domain
JBOSS_MODE=standalone

## Configuration for standalone mode
JBOSS_CONFIG=standalone-full.xml

## Configuration for domain mode
# JBOSS_DOMAIN_CONFIG=domain.xml
# JBOSS_HOST_CONFIG=host-master.xml

## The amount of time to wait for startup
STARTUP_WAIT=120

## The amount of time to wait for shutdown
SHUTDOWN_WAIT=120

## Location to keep the console log
JBOSS_CONSOLE_LOG="/var/log/wildfly/console.log"

## Additionals args to include in startup
# JBOSS_OPTS="--admin-only -b 127.0.0.1"

Rejestrujemy WildFly jako serwis:

cp /opt/wildfly/docs/contrib/scripts/init.d/wildfly-init-debian.sh /etc/init.d/wildfly

chown root:root /etc/init.d/wildfly
chmod +X /etc/init.d/wildfly

update-rc.d wildfly defaults
update-rc.d wildfly enable

chown -R wildfly:wildfly /opt/wildfly/*
chown -R wildfly:wildfly /var/log/wildfly

Uruchomienie WildFly

service wildfly start

Instalacja sterownika PostgreSQL JDBC jako moduł

W celu zainstalowania sterownika PostgreSQL JDBC jako moduł należy:

  1. Pobrać ze strony https://jdbc.postgresql.org/download.html właściwą wersję sterownika (np. https://jdbc.postgresql.org/download/postgresql-42.1.4.jar).
  2. W katalogu $WILDFLY_HOME/modules/system/layers/base utworzyć podkatalog org/postgresql/main
  3. W utworzonym podkatalogu należy umieścić ściągnięty w pkt. 1 sterownik.
  4. W katalogu $WILDFLY_HOME/modules/system/layers/base/org/postgresql/main należy utworzyć plik o nazwie module.xml z następującą zawartością:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
  <resources>
    <resource-root path="postgresql-42.1.4.jar"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
  </dependencies>
</module>

5. Następnie będąc w katalogu $WILDFLY_HOME/bin za pomocą narzędzia jboss-cli rejestrujemy sterownik w Wildfly (uwaga: Wildfly w tym czasie musi być włączony).

/subsystem=datasources/jdbc-driver=postgresql:add(
    driver-name=postgresql,
    driver-module-name=org.postgresql,
    driver-class-name=org.postgresql.Driver
)

6. Otrzymanie komunikatu „{“outcome” => “success”}” z narzędzia oznacza prawidłowe zarejestrowanie sterownika w Wildfly.