February 18, 2019

RPM Installation of WildFly 15 on CentOS 7

Prerequisite

CentOS 7. I use minimal installation. I also need wget to download harbottle rpm repo (https://pkgs.org/download/wildfly), from which I will need to install WilfFly from. The harbottle repo is a Fedora Project repo. And Fedora is supported by Red Hat.


# yum install wget -y

Install HarBottle RPM Repo


# wget https://harbottle.gitlab.io/harbottle-main/7/x86_64/00703701-harbottle-main-release/harbottle-main-release-7-5.el7.noarch.rpm
# rpm -Uvh harbottle-main-release*rpm

Check the HarBottle RPM.


# rpm -ql harbottle-main-release
/etc/yum.repos.d/harbottle-main.repo
/usr/share/doc/harbottle-main-release-7
/usr/share/doc/harbottle-main-release-7/GPL
# rpm -q --scripts harbottle-main-release
# cat /etc/yum.repos.d/harbottle-main.repo
[harbottle-main]
name=Copr repo for main owned by harbottle
baseurl=https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-7-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://copr-be.cloud.fedoraproject.org/results/harbottle/main/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1

gpgcheck=value

Use the gpgcheck option to specify if yum should perform a GPG signature check on packages. Replace value with:

0 — Disable GPG signature-checking on packages in all repositories, including local package installation.

1 (default) — Enable checking of GPG signature on all packages in all repositories, including local package installation. With gpgcheck enabled, all packages' signatures are checked."

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sec-configuring_yum_and_yum_repositories

repo_gpgcheck=0

https://github.com/ComplianceAsCode/content/issues/1596

Check rpm repo server certificate.


# openssl s_client -connect copr-be.cloud.fedoraproject.org:443 -showcerts
...
---
Server certificate
subject=/C=US/ST=North Carolina/L=Raleigh/O=Red Hat, Inc./OU=Fedora Infrastructure/CN=copr.fedorainfracloud.org
issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA
---
...

Install WilfFly RPM

Install WildFly Current (Now 15.0.1). Dubble check it is the current WildFly version at http://wildfly.org/downloads/.


# yum install wildfly
...
 java-1.8.0-openjdk
 java-1.8.0-openjdk-devel
 java-1.8.0-openjdk-headless
...
Retrieving key from https://copr-be.cloud.fedoraproject.org/results/harbottle/main/pubkey.gpg
Importing GPG key 0xE148E740:
 Userid     : "harbottle_main (None) <harbottle#main@copr.fedorahosted.org>"
 Fingerprint: f1df c563 31a9 d77e a8cc ae17 df9b 4194 e148 e740
 From       : https://copr-be.cloud.fedoraproject.org/results/harbottle/main/pubkey.gpg
...

Tour of the WildFly RPM

Start and Auto Start WildFly.


# systemctl start wildfly
# systemctl enable wildfly

Server log.


# less /usr/share/wildfly/standalone/log/server.log

JBoss Home Standalone


# ll /usr/share/wildfly/standalone/
total 0
lrwxrwxrwx. 1 root root 23 Feb 18 13:51 configuration -> /etc/wildfly/standalone
lrwxrwxrwx. 1 root root 32 Feb 18 13:51 data -> /var/lib/wildfly/standalone/data
lrwxrwxrwx. 1 root root 39 Feb 18 13:51 deployments -> /var/lib/wildfly/standalone/deployments
lrwxrwxrwx. 1 root root 31 Feb 18 13:51 lib -> /var/lib/wildfly/standalone/lib
lrwxrwxrwx. 1 root root 27 Feb 18 13:51 log -> /var/log/wildfly/standalone
lrwxrwxrwx. 1 root root 33 Feb 18 13:51 tmp -> /var/cache/wildfly/standalone/tmp

JBoss System Unit Global Configuration.


# ll /etc/wildfly/
total 12
drwxrwxr-x. 2 root wildfly   53 Feb 18 13:51 appclient
drwxrwxr-x. 2 root wildfly  283 Feb 18 13:51 domain
-rw-r--r--. 1 root root    3035 Jan  5 20:10 jboss-cli.xml
drwxrwxr-x. 3 root wildfly 4096 Feb 18 14:03 standalone
-rw-r--r--. 1 root root     170 Jan 14 17:09 wildfly.conf

# cat /etc/wildfly/wildfly.conf 
# The configuration you want to run
#
WILDFLY_CONFIG=standalone.xml

# The mode you want to run
WILDFLY_MODE=standalone

# The address to bind to
#
WILDFLY_BIND=0.0.0.0

Test It


# systemctl stop firewalld
# ip addr show
...
    inet 192.168.122.43/24 brd 192.168.122.255 scope global noprefixroute dynamic eth0
...

Now open a remote browser and enter http://192.168.122.43:8080/.