Install and Configure WildFly (JBoss) App Server on Ubuntu 16.04 | 18.04

WildFly (formally JBoss) is a lightweight, fast and highly optimized Java based application runtime that allows you to develop great applications from a single IDE.

This brief tutorial shows students and new users how to install and configure WildFly on Ubuntu 16.04 | 18.04 LTS servers.

WildFly is cross-platform with robust dashboard which makes changing a setting in the application server, configuration very simple and quick. No need to browse unnecessary pages to customize your environment to fit you needs.

For more about WildFly and other related documentation, please visit its homepage.When you’re ready to setup WildFly on Ubuntu, follow the steps below:

Step 1: Install OpenJDK

WildFly is written in Java and require Java JDK to function. you either install the official Oracle Java JDK or use the open source alternative called OpenJDK.

For this tutorial, we’re going to be installing the open source version of Java.

To do that, run the commands below:

sudo apt update
sudo apt install default-jdk

After installing OpenJDK above, you can run the commands below to validate that it is installed.

java -version

You should see similar lines as below:

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

If you see the lines above, then Java is installed and ready.

Step 2: Setup WildFly User

Since this is an application server, it’s usually recommended to use a dedicated service account. Run the commands below to create WildFly service account to manage the server.

Run the commands below to create an account and group called wildfly.

sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

After that, continue below to downloading and configuring WildFly packages.

Step 3: Download and Configure WildFly

Now that you’ve installed Java JDK and created a service account for WildFly, run the commands below to download WildFly packages. At the time of this post, the current version is 16.0.0.Final.

You can check its download page to get the latest when they become available.

Using wget command, you can easily download it using the commands below:

cd /tmp

After downloading, run the commands below to create WildFly folder in the /opt directory and change its ownership to WildFly service account.

tar xvf wildfly-16.0.0.Final.tar.gz
sudo mv wildfly-16.0.0.Final/ /opt/wildfly
sudo chown -RH wildfly: /opt/wildfly

Next, create WildFly service folder in the /etc/ directory by running the commands below.

sudo mkdir -p /etc/wildfly

Then copy WildFly configuration files, executables into the newly created directory above, and make its scripts in the /etc/wildfly/bin directory executable.

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/ /opt/wildfly/bin/
sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'

After that copy its systemd file to the /etc/systemd/system/ directory by running the commands below

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

Now you can use the commands below to stop, start and enable WildFly services to automatically start at boot time.

sudo systemctl stop wildfly.service
sudo systemctl start wildfly.service
sudo systemctl enable wildfly.service

To check its started, run the commands below:

sudo systemctl status wildfly.service

You should see its status service info as shown below:

● wildfly.service - The WildFly Application Server
   Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-04-03 10:49:06 CDT; 17s ago
 Main PID: 2252 (
    Tasks: 109 (limit: 4683)
   CGroup: /system.slice/wildfly.service
           ├─2252 /bin/bash /opt/wildfly/bin/ standalone standalone.xml
           ├─2253 /bin/sh /opt/wildfly/bin/ -c standalone.xml -b
           └─2336 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMe

Apr 03 10:49:06 ubuntu1804 systemd[1]: Started The WildFly Application Server.

Now that you’ve downloaded and configured WildFly service, run the commands below to create a user account that will connect and manage the app server web console.

sudo /opt/wildfly/bin/

You’ll be prompted. type a to continue.

What type of user do you wish to add? 
 a) Management User ( 
 b) Application User (
(a): a

Type in a new username and create a password:

Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : superadmin
Password recommendations are listed below. To modify these restrictions edit the 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 : 
WFLYDM0102: Password should have at least 1 non-alphanumeric symbol.
Are you sure you want to use the password entered yes/no? yes

Type yes for the other options and complete the setup.

WildFly should be installed and ready.

Open your browser and browse to the server hostname or IP address followed by port #8080 (its default port).

WildFly Ubuntu Setup

Then admin console is at:


Out of the box, the server console is restricted to the local server only. If you’d like to connect from a remote location, Open it’s configuration file by running the commands below.

sudo nano /etc/wildfly/wildfly.conf

Then add the highlighted line in the file and save.

# The configuration you want to run

# The mode you want to run
# The address to bind to

#WildFly Console bind 

After that run the script below to create an account to logon to the admin console.

sh /opt/wildfly/bin/ --connect

You’ll be prompted to enter the account and password you created above.

Authenticating against security realm: ManagementRealm
Username: superadmin
[standalone@localhost:9990 /]

Next, open the launch script

sudo nano /opt/wildfly/bin/

And edit the highlighted lines,


if [ "x$WILDFLY_HOME" = "x" ]; then

if [[ "$1" == "domain" ]]; then
    $WILDFLY_HOME/bin/ -c $2 -b $3 -bmanagement $4
    $WILDFLY_HOME/bin/ -c $2 -b $3 -bmanagement $4

Exit and save the file.

Restart the service.

sudo systemctl restart wildfly.service

Next, open WildFly service by running the commands below.

sudo nano /etc/systemd/system/wildfly.service

Then edit the highlighted line and save.

Description=The WildFly Application Server



Save the file and exit.

Reload systemd and restart.

sudo systemctl daemon-reload
sudo systemctl restart wildfly.service

That’s it! You can now access the admin console remotely.

WildFly console access

Congratulations! you have successfully installed and configure WildFly (Formally JBoss) on Ubuntu 16.04 | 18.04.

You may also like the post below:


  1. I had problems accessing the Administration Console from the outside and found that it was easier to edit the standalone.xml file in the interface section at the end of the file. I merely replaced the “<inet-address value=…" part with "” for both the public interface and the management and then it worked like a charm.

    1. there was an error in the formatting, probably due to me trying to add XML. What I tried to replace the inet-address part with was “any-address”. This should then be wrapped in “”, respectively.

Leave a Comment

Your email address will not be published.