In this tutorial, we will install and configure the latest version of WildFly and all necessary components on an Ubuntu 18.04 VPS.
WildFly, formerly known as JBoss, is a free and open-source Java web application server designed around speed and being lightweight. WildFly aims to provide users with a fast and stable Java runtime environment.
WildFly comes with a lot of helpful features. Listed below are some of them:
- Fast Speed
- Ultimate Web Performance & Scalability
- Slimable / Customizable Runtime
- Unified configuration & Management
- Domain & Standalone Management
- Fast Linking & Concurrent Loading
- Smarter Development
Table of Contents
Prerequisites:
- Ubuntu 18.04 VPS
- A system user with root privileges, or access to the root user itself
Step 1: Log in and Update the System
Log in to your Ubuntu 18.04 VPS via SSH as the root user, or as a user with root privileges:
ssh root@IP_address -p Port_number
Remember to replace IP_address and Port_number with the actual IP address and SSH port number for your server.
and run the following commands to make sure that all installed packages on the server are updated to the latest available version
apt update && apt upgrade
You can also enable automatic updates as described in one of our previous blog posts https://www.rosehosting.com/blog/how-to-enable-automatic-updates-on-a-linux-vps/
Step 2: Install Java
In order to run WildFly on the server, we have to install Java. We will install and use OpenJDK, which is a free and open-source implementation of the Java Platform. To install it on your Ubuntu 18.04 server, just run the following command.
install -y default-jdk
Once all necessary packages are installed, you can then check the version of Java that’s installed on your server.
Java --version
The output should look something like this:
openjdk 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)
Step 3: Create a system user
It is not recommended to run WildFly as the root uset, so we’ll have to create a new system user. Execute the following commands to create a ‘wildfly’ system user and group:
groupadd -r wildfly useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Step 4: Download WildFly
Go to WildFly’s official website and download the latest stable release of the application to your server. At the moment of writing this tutorial it is version 16.0.0. We have included the link in our command below.
wget https://download.jboss.org/wildfly/16.0.0.Final/wildfly-16.0.0.Final.zip
Once the downloaded ZIP arhive is downloaded, unpack it by executing the following command.
unzip wildfly-16.0.0.Final.zip -d /opt
All of WildFly’s files and directories will be stored in a new ‘wildfly-16.0.0.Final’ directory. We will rename it simply to ‘wildfly’
mv wildfly-16.0.0.Final wildfly
Since we will run WildFly under the newly created ‘wildfly’ user, set the correct ownership to the WildFly files:
chown -R wildfly:wildfly /opt/wildfly
Step 5: Configure WildFly
Next, we will configure WildFly to run as a service. We will start by creating a ‘/etc/wildfly’ directory.
mkdir /etc/wildfly
WildFly comes with all of the necessary scripts and configuration files needed to run. Copy the configuration file to the newly created directory:
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly
Then copy the launch.sh script and the systemd unit file to the appropriate directories, as shown below.
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/wildfly.service cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/launch.sh
Enable and start the WildFly service:
systemctl enable wildfly systemctl start wildfly
You can verify that WildFly is running on your server using the following command:
systemctl status wildfly
If everything is OK, you will get an output that looks similar to the following:
wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: enabled) Active: active (running) Main PID: 9294 (launch.sh) Tasks: 25 (limit: 2320) CGroup: /system.slice/wildfly.service ââ9294 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0 ââ9295 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 ââ9388 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.base systemd[1]: Started The WildFly Application Server.
At this point, you should be able to access your WildFly instance at http://IP_Address:8080
and you will get the default WildFly home page.
Step 6: Configure Management Console and Create a User
In order to enable the administrative management console, we’ll have to create an administrative user for the WildFly instance. Wildfly has a script specifically made for this purpose. Run the script and follow the steps to complete the user creation.
/opt/wildfly/bin/add-user.sh
You can use the following settings:
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 : rosehosting 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 : WFLYDM0098: The password should be different from the username Are you sure you want to use the password entered yes/no? yes Re-enter Password : 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 'rosehosting' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'rosehosting' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties' Added user 'rosehosting' to file '/opt/wildfly/domain/configuration/mgmt-users.properties' Added user 'rosehosting' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties' Added user 'rosehosting' with groups 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? no
Now you will be able to log in to the administrative console as the user ‘rosehosting’ using the password you’ve set for this user. Feel free to set a different name for the user.
For more information on how to configure and use Wildfly, please check their official documentation.
Of course, you don’t have to install WildFly on Ubuntu 18.04 if you use one of our Managed VPS Hosting services, in which case you can simply ask our expert Linux admins to install WildFly on Ubuntu 18.04 for you. They are available 24×7 and will take care of your request immediately.
PS. If you liked this post on how to install WildFly on Ubuntu 18.04, please share it with your friends on the social networks using the share buttons below, or simply leave a comment in the comments section. Thanks.