Chapter 4. RPM installation of JBoss EAP

You can install JBoss EAP using RPM packages on supported installations of Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7, and Red Hat Enterprise Linux 8.

4.1. Subscribing to a minor JBoss EAP repository

To install JBoss EAP with RPM, you need a subscription to both the Red Hat Enterprise Linux Server base software repository, as well as a minor JBoss EAP repository.

For the JBoss EAP repository, you must subscribe to a minor JBoss EAP repository. A minor repository provides a specific minor release of JBoss EAP 7 and all applicable patches. This allows you to maintain the same minor version of JBoss EAP, while staying current with high severity and security patches.

For example, updating from this repository includes patches and security updates for the minor JBoss EAP version, but does not include upgrades from JBoss EAP 7.4 to JBoss EAP 7.5.

Prerequisites

Procedure

  1. Enter the Red Hat Subscription Manager.
  2. Replace EAP_MINOR_VERSION with your intended JBoss EAP minor version. For example, 7.4.

    1. For Red Hat Enterprise Linux 6 and 7, replace RHEL_VERSION with either 6 or 7 depending on your Red Hat Enterprise Linux version:

      # subscription-manager repos --enable=jb-eap-EAP_MINOR_VERSION-for-rhel-RHEL_VERSION-server-rpms
    2. For Red Hat Enterprise Linux 8, use the following command:

      # subscription-manager repos --enable=jb-eap-EAP_MINOR_VERSION-for-rhel-RHEL_VERSION-ARCH-rpms

4.2. Installing the JBoss EAP RPM installation on RHEL

Choose the Red Hat Packet Manager (RPM) to install a minor version of JBoss EAP. Conversely, you can subscribe to the current JBoss EAP using this method.

A minor version of JBoss EAP provides a specific minor release and all applicable patches. When you subscribe to a minor version of JBoss EAP, you can remain up-to-date with high severity and security patches.

Prerequisites

  • Set up an account on the Red Hat Customer Portal.
  • Review the JBoss EAP 7 supported configurations and ensure your system is supported.
  • Download the JBoss EAP installation package.
  • Register to the Red Hat Enterprise Linux server using Red Hat Subscription Manager.
  • Install a supported Java Development Kit (JDK).

Procedure

  1. Install JBoss EAP and JDK 8.

    # yum groupinstall jboss-eap7
  2. Install JBoss EAP and JDK 11. JDK 11 is available for Red Hat Enterprise Linux 7 and later.

    • Red Hat Enterprise Linux 7:

      # yum groupinstall jboss-eap7-jdk11
    • Red Hat Enterprise Linux 8:

      # dnf groupinstall jboss-eap7-jdk11
      Note

      The groupinstall command installs the specified version of JDK if that version of JDK is not installed on the system. If a different version of JDK already exists, the system contains multiple JDKs installed after the command is executed.

      If there are multiple JDKs installed on your system after groupinstall is complete, check which JDK is used for JBoss EAP execution. By default, the system default JDK is used.

      You can modify the default by either of the following ways:

      • Change system wide configuration using the alternatives command:

        # alternatives --config java

        The command displays a list of installed JDKs and instructions for setting a specific JDK as the default.

      • Change the JDK used by JBoss EAP by using the JAVA_HOME property.

        Your installation is complete. The default EAP_HOME path for the RPM installation is /opt/rh/eap7/root/usr/share/wildfly.

        Important

        When using the RPM installer to install JBoss EAP, configuring multiple domain or host controllers on the same machine is not supported.

Additional resources

  • See Setting up the EAP_HOME variable, in the JBoss EAP Installation Guide.
  • See Subscribing to a Minor JBoss EAP repository, in the JBoss EAP Installation Guide.
  • For more information about changing the JAVA_HOME property, see the RPM Service Configuration Properties section of the Configuration Guide.

4.3. Changing repositories

Over the lifespan of a JBoss EAP installation, you may want to change the software subscription from one JBoss EAP repository to another. Changing repositories is supported, but only within the following conditions:

  • Changing from the current repository to a minor repository is supported if changing to the latest minor repository.
  • Changing from a minor repository to another minor repository is supported if changing to the next minor JBoss EAP version. For example, changing from JBoss EAP 7.0 to JBoss EAP 7.1 is supported, but changing from JBoss EAP 7.0 to JBoss EAP 7.2 is not supported.
Important

The JBoss EAP current repository is no longer available as of JBoss EAP 7.3. If you subscribed to the current repository for a previous release of JBoss EAP, you must change your subscription to a minor repository for this release of JBoss EAP.

Prerequisites

  • Install JBoss EAP using the RPM installation.
  • Choose a repository.
  • Ensure that the JBoss EAP installation has all applicable updates applied.

    • Issue the following command on your terminal to apply the updates:
# yum update
  • Comply with the supported change conditions shown above.

Procedure

  1. Using Red Hat Subscription Manager, unsubscribe from the existing repository and subscribe to the new repository. In the command below, replace EXISTING_REPOSITORY and NEW_REPOSITORY with the respective repository names.

    # subscription-manager repos --disable=EXISTING_REPOSITORY --enable=NEW_REPOSITORY

4.4. Configuring JBoss EAP RPM installation as a service on RHEL

You can configure the Red Hat Packet Manager (RPM) installation to run as a service in Red Hat Enterprise Linux (RHEL). An RPM installation of JBoss EAP installs everything that is required to run JBoss EAP as a service

Run the appropriate command for your RHEL, as demonstrated in this procedure. Replace EAP_SERVICE_NAME with either eap7-standalone for a standalone JBoss EAP server, or eap7-domain for a managed domain.

Important

You cannot configure more than one JBoss EAP instance as a service on a single machine.

Prerequisites

  • Install JBoss EAP as an RPM installation.
  • Ensure that you have administrator privileges on the server.

Procedure

  • For Red Hat Enterprise Linux 6:

    chkconfig EAP_SERVICE_NAME on
  • For Red Hat Enterprise Linux 7 and later:

    systemctl enable EAP_SERVICE_NAME.service

Additional resources

4.5. Installing JBoss EAP RPM installation by using Jsvc

You can use the Apache Java Service (Jsvc) component of the JBoss Core Services collection to run JBoss EAP as a detached process, daemon, on Red Hat Enterprise Linux (RHEL). You would usually use Jsvc to run JBoss EAP on Windows or Solaris.

For best product performance, use the native method for running JBoss EAP as a service on your version of RHEL.

Jsvc is a set of libraries and applications that provide Java applications the ability to run as a background service. Applications run using Jsvc can perform operations as a privileged user and then switch identity to a non-privileged user.

Prerequisites

  • Install JBoss EAP as an RPM installation.
  • Ensure that you have administrator privileges on the server.

Procedure

  1. Log in to the Red Hat Customer Portal.
  2. Click on Systems in the Subscriber Inventory.
  3. Subscribe to the JBoss Core Services CDN repositories for your operating system version and architecture:

    1. For Red Hat Enterprise Linux 6:

      jb-coreservices-1-for-rhel-6-server-rpms
    2. For Red Hat Enterprise Linux 7 and later:

      jb-coreservices-1-for-rhel-7-server-rpms
    3. Run the following command as the root user to install Apache Jsvc:

      # yum groupinstall jbcs-jsvc

Additional resources

4.6. Jsvc commands to start or stop JBoss EAP as a standalone server

Using Java Service (Jsvc), you can enter various commands for starting or stopping JBoss EAP. The following table shows a list of paths that are needed for the commands for an archive JBoss EAP installation.

Table 4.1. File Locations of Paths

File Reference in InstructionsFile Location

JSVC_BIN

/usr/bin/jbcs-jsvc/jsvc

JSVC_JAR

/usr/bin/jbcs-jsvc/commons-daemon.jar

CONF_DIR

/opt/rh/eap7/root/usr/share/wildfly/standalone/configuration

LOG_DIR

/opt/rh/eap7/root/usr/share/wildfly/standalone/log

The following example demonstrates starting a JBoss EAP standalone server using Jsvc with a JSVC_BIN \ path:

$ JSVC_BIN \
 -outfile LOG_DIR/jsvc.out.log   \
 -errfile LOG_DIR/jsvc.err.log   \
 -pidfile LOG_DIR/jsvc.pid  \
 -user jboss \
 -D[Standalone] -XX:+UseCompressedOops -Xms1303m \
 -Xmx1303m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true \
 -Dorg.jboss.boot.log.file=LOG_DIR/server.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -cp EAP_HOME/jboss-modules.jar:JSVC_JAR \
 -Djboss.home.dir=EAP_HOME \
 -Djboss.server.base.dir=EAP_HOME/standalone   \
 @org.jboss.modules.Main -start-method main \
 -mp EAP_HOME/modules \
 -jaxpmodule javax.xml.jaxp-provider \
 org.jboss.as.standalone

The following example demonstrates stopping a JBoss EAP standalone server using Jsvc with a JSVC_BIN \ path:

$ JSVC_BIN \
 -stop \
 -outfile LOG_DIR/jsvc.out.log   \
 -errfile LOG_DIR/jsvc.err.log   \
 -pidfile LOG_DIR/jsvc.pid  \
 -user jboss \
 -D[Standalone] -XX:+UseCompressedOops -Xms1303m \
 -Xmx1303m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true \
 -Dorg.jboss.boot.log.file=LOG_DIR/server.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -cp EAP_HOME/jboss-modules.jar:JSVC_JAR \
 -Djboss.home.dir=EAP_HOME \
 -Djboss.server.base.dir=EAP_HOME/standalone   \
 @org.jboss.modules.Main -start-method main \
 -mp EAP_HOME/modules \
 -jaxpmodule javax.xml.jaxp-provider \
 org.jboss.as.standalone

4.7. Jsvc commands to start or stop JBoss EAP as a managed domain

Using Java Service (Jsvc), you can enter various commands for starting or stopping JBoss EAP. The following table shows a list of paths that are needed for the commands for an archive JBoss EAP installation.

Table 4.2. File Locations of Paths

File Reference in InstructionsFile Location

JSVC_BIN

/usr/bin/jbcs-jsvc/jsvc

JSVC_JAR

/usr/bin/jbcs-jsvc/commons-daemon.jar

CONF_DIR

/opt/rh/eap7/root/usr/share/wildfly/domain/configuration

LOG_DIR

/opt/rh/eap7/root/usr/share/wildfly/domain/log

The following example demonstrates starting a JBoss EAP domain server using Jsvc with a JSVC_BIN \ path. Before you issue the following command, set the JAVA_HOME system environment variable.

$ JSVC_BIN \
 -outfile LOG_DIR/jsvc.out.log   \
 -errfile LOG_DIR/jsvc.err.log   \
 -pidfile LOG_DIR/jsvc.pid  \
 -user jboss \
 -nodetach -D"[Process Controller]" -server -Xms64m \
 -Xmx512m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true  \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true  \
 -Dorg.jboss.boot.log.file=LOG_DIR/process-controller.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -cp "EAP_HOME/jboss-modules.jar:JSVC_JAR" \
 org.apache.commons.daemon.support.DaemonWrapper \
 -start org.jboss.modules.Main -start-method main \
 -mp EAP_HOME/modules org.jboss.as.process-controller \
 -jboss-home EAP_HOME -jvm "${JAVA_HOME}"/bin/java \
 -mp EAP_HOME/modules -- \
 -Dorg.jboss.boot.log.file=LOG_DIR/host-controller.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -server -Xms64m -Xmx512m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true -- -default-jvm "${JAVA_HOME}"/bin/java \

The following example demonstrates stopping a JBoss EAP domain server using Jsvc with a JSVC_BIN \ path.

$ JSVC_BIN \
 -stop \
 -outfile LOG_DIR/jsvc.out.log   \
 -errfile LOG_DIR/jsvc.err.log   \
 -pidfile LOG_DIR/jsvc.pid  \
 -user jboss \
 -nodetach -D"[Process Controller]" -server -Xms64m \
 -Xmx512m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true  \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true  \
 -Dorg.jboss.boot.log.file=LOG_DIR/process-controller.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -cp "EAP_HOME/jboss-modules.jar:JSVC_JAR" \
 org.apache.commons.daemon.support.DaemonWrapper \
 -start org.jboss.modules.Main -start-method main \
 -mp EAP_HOME/modules org.jboss.as.process-controller \
 -jboss-home EAP_HOME -jvm $JAVA_HOME/bin/java \
 -mp EAP_HOME/modules -- \
 -Dorg.jboss.boot.log.file=LOG_DIR/host-controller.log \
 -Dlogging.configuration=file:CONF_DIR/logging.properties \
 -Djboss.modules.policy-permissions \
 -server -Xms64m -Xmx512m -XX:MaxPermSize=256m \
 -Djava.net.preferIPv4Stack=true \
 -Djboss.modules.system.pkgs=org.jboss.byteman \
 -Djava.awt.headless=true -- -default-jvm $JAVA_HOME/bin/java

4.8. Uninstalling a JBoss EAP RPM installation

Warning

Uninstalling a JBoss EAP installation that is using the RPM method is not recommended.

Because of the nature of RPM package management, it cannot be guaranteed that all installed packages and dependencies are completely removed, or that the system is not left in an inconsistent state caused by missing package dependencies.





Revised on 2024-01-17 05:25:15 UTC