Revision as of 20:19, 24 April 2015 by WikiFreak (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

JBOSS Wildfly is an application server fully compatible with the JEE standard, like Glassfish.

Sources and tools:

Get Wildfly

Download latest Wildfly server: http://wildfly.org/downloads/

Unzip it and launch the server in standalone mode:


You can test the server on http://localhost:8080

Enable remote access

By default you can only access your server locally. You need to adjust the binding interface and hostname.

Quick settings

Since there are a lot of files to edit you can use sed. See below for detail explanations.

## Adjust binding
# replace '' by your own IP @
sed 's/' -i $wildfly/domain/configuration/host.xml
sed 's/' -i $wildfly/standalone/configuration/standalone.xml
sed 's/' -i $wildfly/standalone/configuration/standalone-ha.xml
sed 's/' -i $wildfly/standalone/configuration/standalone-full.xml
sed 's/' -i $wildfly/standalone/configuration/standalone-full-ha.xml

## Adjust hostname
# replace 'myServer' by your real server name (FQDN)
sed 's/localhost/myServer/g' -i $wildfly/domain/configuration/host.xml
sed 's/localhost/myServer/g' -i $wildfly/standalone/configuration/standalone.xml
sed 's/localhost/myServer/g' -i $wildfly/standalone/configuration/standalone-ha.xml
sed 's/localhost/myServer/g' -i $wildfly/standalone/configuration/standalone-full.xml
sed 's/localhost/myServer/g' -i $wildfly/standalone/configuration/standalone-full-ha.xml

Relaunch the server:

# Stop server
$wildfly/bin/jboss-cli.sh --connect command=:shutdown
# start server

You should see the following logs:

Undertow HTTP listener default listening on /
Http management interface listening on
Admin console listening on

Manual settings

Bind interface

Edit your configuration file

vim $wildfly/domain/configuration/host.xml

Adjust the bindings:

   <interface name="management">
       <inet-address value="${jboss.bind.address.management:}"/>
   <interface name="public">
       <inet-address value="${jboss.bind.address:}"/>
   <interface name="unsecure">
        <!-- Used for IIOP sockets in the standard configuration. To secure JacORB you need to setup SSL -->
        <inet-address value="${jboss.bind.address.unsecure:}"/>

Replace by the IP you'd like to use, ex:

Set hostname

Edit your configuration file

vim $wildfly/standalone/configuration/standalone.xml

Adjust the hostname:

<host name="default-host" alias="localhost">

replace localhost by your server name (FQDN), ex: nuc-media-center.daxiongmao.eu

Create administrative users

There is no users by default. You must create one.

Launch the creation script:


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

Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : admin

The username 'admin' is easy to guess
Are you sure you want to add user 'admin' yes/no? yes

Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
 - 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)
 - The password should be different from the username
Password : secret

What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]:

About to add user 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes

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? no

Now you can access the administrative pages: http://localhost:9990/


Edit your firewall configuration and add:

##### Input
$IPTABLES -A INPUT -p tcp --dport 8080 -j ACCEPT   # HTTP alt.
$IPTABLES -A INPUT -p tcp --dport 8443 -j ACCEPT   # HTTPS alt.
$IPTABLES -A INPUT -p tcp --dport 9990 -j ACCEPT   # Wildfly administration

##### Output
$IPTABLES -A OUTPUT -p tcp --dport 8080 -j ACCEPT   # HTTP alt.
$IPTABLES -A OUTPUT -p tcp --dport 8443 -j ACCEPT   # HTTPS alt.
$IPTABLES -A OUTPUT -p tcp --dport 9990 -j ACCEPT   # Wildfly administration

Stop server (cmd line)

$wildfly/bin/jboss-cli.sh --connect command=:shutdown

Create datasource

Source: http://www.techpaste.com/2014/05/08/how-to-configure-datasource-in-jboss-wildfly/

Download the latest JDBC drivers:

Register driver

  • Go to Runtime >> Server >> Manage Deployments
  • Click on "Add" to deploy the MySQL driver.

Wildfly driver registration

You must enable the driver.

  • Select the new driver
  • Click on "En/Disable"

Wildfly driver enable

Now the driver is ready to be used.

Create datasource

  • Go to Configuration >> Datasource >> Manage Deployments
  • Click on "Add" to deploy the MySQL driver.

Wildfly datasource menu

Fill up the form like this:

Wildfly datasource creation 1/3

>> JNDI name must be: java:/jbdc/datasourceName

Wildfly datasource creation 2/3

>> You must use com.mysql.jdbc.Driver_x_y

Wildfly datasource creation 3/3

  • Connection URL: jdbc:mysql://localhost:3306/AppDS
  • Username: db_user
  • Password: secret

Don't forget to adjust the server, database & user names.

Now you can enable the datasource:

Wildfly datasource enable