User Tools

Site Tools


jboss_centos7

JBoss EAP on CentOS 7

Prerequisites

Installation

CentOS packages

yum install java-1.8.0-openjdk-devel unzip

Unzip JBoss EAP

mkdir /usr/share/jboss-as
cd /usr/share/jboss-as
unzip /var/tmp/jboss-eap-6.4.0.zip
ln -s jboss-eap-6.4 jboss-eap

Create application user

useradd -r -d /usr/share/jboss-as jboss
chown jboss. /usr/share/jboss-as
chown -R jboss. /usr/share/jboss-as

Configuration

jboss homedir and path

su - jboss
cp /etc/skel/.* .
cat << EOF >> .bash_profile
# EAP
JAVA_HOME=/usr/lib/jvm/java
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
EOF
exit

Configuration of the daemon

mkdir /etc/jboss-as
cat > /etc/jboss-as/jboss-as.conf <<EOF
## Process user
JBOSS_USER=jboss
## Waiting time for returning control to SHELL, it depends upon how many applications/services that will be deployed
STARTUP_WAIT=30
## Waiting time for returning control to SHELL, it depends upon how many applications/services that will be undeployed
SHUTDOWN_WAIT=30
## Log directory and file.
JBOSS_CONSOLE_LOG=/var/log/jboss-as/console.log
## JBoss EAP home directory
JBOSS_HOME=/usr/share/jboss-as/jboss-eap
EOF

Daemon directories needed to run

mkdir /var/log/jboss-as
mkdir /var/run/jboss-as
chown -R jboss. /var/log/jboss-as
chown -R jboss. /var/run/jboss-as

Systemd service

cat > /etc/systemd/system/jboss-as-standalone.service <<EOF
[Unit]
Description=Jboss Application Server
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/share/jboss-as/jboss-eap/bin/init.d/jboss-as-standalone.sh start
ExecStop=/usr/share/jboss-as/jboss-eap/bin/init.d/jboss-as-standalone.sh stop

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start jboss-as-standalone.service
systemctl status jboss-as-standalone.service
systemctl enable jboss-as-standalone.service

Firewalld

cat > /etc/firewalld/services/jboss-as-standalone.xml << EOF
<?xml version="1.0" encoding="utf-8"?>
<service version="1.0">
      <short>jboss-as-standalone</short>
      <port port="8080" protocol="tcp"/>
      <port port="8443" protocol="tcp"/>
      <port port="8009" protocol="tcp"/>
      <port port="4447" protocol="tcp"/>
      <port port="9990" protocol="tcp"/>
      <port port="9999" protocol="tcp"/>
</service>
EOF
firewall-cmd --permanent --zone=management --add-service=jboss-as-standalone
firewall-cmd --permanent --zone=local --add-service=jboss-as-standalone
firewall-cmd --reload

Enable remote IP access

vi /usr/share/jboss-as/jboss-eap/standalone/configuration/standalone.xml
.
.
    <interfaces>
        <interface name="management">
            <any-address/>
        </interface>
        <interface name="public">
            <any-address/>
        </interface>
.
.

Enable IPv6

cat >> /usr/share/jboss-as/jboss-eap/bin/standalone.conf << EOF
# Enable IPv6
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=false"
EOF

Create admin user

Edit add-user.properties to allow weaker passwords

su - jboss
cd jboss-as-eap/bin
./add-user.sh

Enable SSL

First create a keystore:

su - jboss
keytool -genkey -alias localhost -keyalg RSA -keystore localhost.keystore -validity 3650
vi /usr/share/jboss-as/jboss-eap/standalone/configuration/standalone.xml
.
.
        <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
            <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
            <connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" enabled="true">
                <ssl name="https" key-alias="localhost" password="test1234" certificate-key-file="/usr/share/jboss-as/localhost.keystore" cipher-suite="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA" protocol="TLSv1,TLSv1.1,TLSv1.2"/>
            </connector>
.
.
jboss_centos7.txt · Last modified: by herwarth