WildFly (JBoss) Java Application Server installeren op Ubuntu 18.04

WildFly, vroeger bekend als JBoss, is een vrije en open bron applicatieserver, geschreven in Java, die de Java Enterprise Edition (Java EE) specificatie implementeert. Hij draait op meerdere platforms, waaronder Windows en Linux. WildFly biedt ondersteuning voor Web Sockets die je toepassingen in staat stelt geoptimaliseerde aangepaste protocollen en full-duplex communicatie met je backend infrastructuur te gebruiken.

In deze handleiding leg ik uit hoe je WildFly applicatieserver installeert op Ubuntu 18.04 LTS.

Vereisten

  • Een server waarop Ubuntu 18.04 draait.
  • Een niet-root gebruiker met sudo rechten.
  • Een statisch IP adres 192.168.0.235 configureren op je server.

Installeer Java

WildFly is geschreven in Java, dus je zult Java op je systeem moeten installeren. Je kunt Java installeren door het volgende commando uit te voeren:

sudo apt-get install default-jdk -y

Als Java geïnstalleerd is, kun je de versie van Java controleren met het volgende commando:

java -version

Uitvoer:

openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)

Installeer WildFly

Eerst moet je de nieuwste versie van WildFly downloaden van hun officiële website. Je kunt het downloaden met het volgende commando:

wget http://download.jboss.org/wildfly/14.0.1.Final/wildfly-14.0.1.Final.tar.gz

Als de download voltooid is, pak je het gedownloade bestand uit met het volgende commando:

cd /opt
tar -xvzf wildfly-14.0.1.Final.tar.gz
sudo mv wildfly-14.0.1.Final wildfly

Standaard is de WildFly server gebonden aan 127.0.0.1, je kunt hem alleen benaderen via 127.0.0.1. Je moet dus het binded adres veranderen in het IP van je server, als je WildFly van overal op LAN wilt verbinden. Je kunt dit doen door het standalone.xml bestand te bewerken:

sudo nano /opt/wildfly/standalone/configuration/standalone.xml

Verander de volgende regels:

<subsystem xmlns="urn:jboss:domain:webservices:2.0">
<wsdl-host>${jboss.bind.address:192.168.0.235}</wsdl-host>
<endpoint-config name="Standard-Endpoint-Config"/>

<interface name="management">
<inet-address value="${jboss.bind.address.management:192.168.0.235}"/>
</interface>

<interface name="public">
<inet-address value=”${jboss.bind.address:192.168.0.235}”/>
</interface>

Sla het bestand op en clsoe het.

Vervolgens moet je een gebruiker toevoegen om toegang te krijgen tot het beheerconsole. Je kunt de gebruiker toevoegen door het volgende script uit te voeren:

sudo /opt/wildfly/bin/add-user.sh

Beantwoord alle vragen zoals hieronder aangegeven:

What type of user do you wish to add? 
 a) Management User (mgmt-users.properties) 
 b) Application User (application-users.properties)
(a): 

Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : wildflyadmin
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
 - The password should be different from the username
 - The password should not be one of the following restricted values {root, admin, administrator}
 - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
Password : 
Re-enter Password : 
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]: wildfly
About to add user 'wildflyadmin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'wildflyadmin' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'wildflyadmin' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'wildflyadmin' with groups wildfly to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'wildflyadmin' with groups wildfly to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'
Is this new user going to be used for one AS process to connect to another AS process? 
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
yes/no? yes
To represent the user add the following to the server-identities definition 

Toegang tot WildFly Console

Voordat je WildFly console kunt benaderen, moet je de wildfly instantie starten. Je kunt hem starten met het volgende commando:

sudo sh /opt/wildfly/bin/standalone.sh

Het bovenstaande commando start de wildfly instance.

Open nu je webbrowser en typ de URL http://192.168.0.235:8080. Je wordt doorgestuurd naar de WildFly standaard pagina:

WildFly standaard pagina

Om de beheerconsole te openen, open je je webbrowser en typ je de URL http://192.168.0.235:9990. Je wordt doorgestuurd naar de volgende pagina:

Inloggen

Geef nu je WildFly login gegevens op, en klik dan op de OK knop. Je zou het WildFly beheerconsole dashboard op de volgende pagina moeten zien:

WildFly Applicatieserver Dashboard

Links