Chapter 1. Introduction to JBCS Apache HTTP Server installation
Red Hat JBoss Core Services (JBCS) provides a collection of supplementary software, including the Apache HTTP Server, that you can use with various Red Hat JBoss middleware products. Red Hat packages this supplementary software under JBCS to allow for faster distribution of updates and for a more consistent update experience.
For a full list of components that JBCS supports, see the Core Services Apache HTTP Server Component Details web page.
Before you attempt to access the Core Services Apache HTTP Server Component Details web page, ensure that you have an active Red Hat subscription and you are logged in to the Red Hat Customer Portal.
1.1. JBCS Apache HTTP Server
Red Hat JBoss Core Services (JBCS) provides a distribution of the Apache HTTP Server that multiple Red Hat JBoss middleware products use. The Apache HTTP Server processes requests that web clients send over the Hypertext Transfer Protocol (HTTP).
Apache HTTP Server distributions for JBoss middleware products
In older JBoss product releases, each JBoss middleware product provided a separate distribution of the Apache HTTP Server. Starting from the following product versions, each JBoss middleware product uses the JBCS distribution of the Apache HTTP Server:
- Red Hat JBoss Enterprise Application Platform (JBoss EAP) 7.0 or later
- Red Hat JBoss Web Server 3.1 or later
Differences between JBCS and RHEL distributions of the Apache HTTP Server
Both JBCS and Red Hat Enterprise Linux (RHEL) provide separate distributions of the Apache HTTP Server.
On RHEL 9, JBCS does not provide an RPM distribution of the Apache HTTP Server. JBCS provides only an archive file distribution of the Apache HTTP Server for RHEL 9 systems.
Unlike JBCS releases on earlier RHEL versions, the JBCS distribution of the Apache HTTP Server for RHEL 9 systems is based on the RHEL distribution of the Apache HTTP Server httpd
package. JBCS provides an archive file distribution on RHEL 9 to support the ability to run multiple instances of the Apache HTTP Server simultaneously.
Consider the following differences between the Apache HTTP Server distributions that JBCS and RHEL provide:
- On RHEL versions 7 and 8
- You can install the JBCS Apache HTTP Server from an archive file or RPM package. You can install the RHEL Apache HTTP Server from an RPM package only.
Only the JBCS Apache HTTP Server provides the load-balancing HTTP connectors
mod_jk
andmod_proxy_cluster
. The RHEL Apache HTTP Server does not provide these modules.NoteIn JBCS 2.4.37 and earlier releases, the
mod_proxy_cluster
connector was namedmod_cluster
.-
On RHEL 7, only the JBCS Apache HTTP Server provides the
mod_proxy_uwsgi
module. From RHEL 8 onward, the JBCS and RHEL distributions of the Apache HTTP Server both provide themod_proxy_uwsgi
module.
- On RHEL 9
-
Unlike JBCS releases on RHEL 7 and RHEL 8, the JBCS release on RHEL 9 is based on the RHEL distribution of the Apache HTTP Server
httpd
package. JBCS on RHEL 9 therefore has certain behavioral differences compared to the JBCS distributions of the Apache HTTP Server on earlier RHEL versions. For more information, see Behavioral differences between JBCS distributions on different RHEL versions. -
JBCS provides only an archive file distribution of the Apache HTTP Server. If you want to install the Apache HTTP Server from an RPM package, your only option is to install the RHEL distribution of the
httpd
package by using Application Streams. - The version of the Apache HTTP Server that JBCS provides is different from the version of the Apache HTTP Server that RHEL provides through the Application Streams feature.
-
The JBCS and RHEL distributions of the Apache HTTP Server provide identical copies of the
mod_jk
connector and themod_proxy_cluster
connector.
-
Unlike JBCS releases on RHEL 7 and RHEL 8, the JBCS release on RHEL 9 is based on the RHEL distribution of the Apache HTTP Server
- On all RHEL versions
-
The JBCS Apache HTTP Server uses a top-level
jbcs-httpd24-2.4/httpd
installation directory. The RHEL Apache HTTP Server uses standard RHEL directories for an installation of thehttpd
package such as/etc/httpd
,usr/share/httpd
,var/log/httpd
, and so on. -
When you install a JBCS distribution of the Apache HTTP Server from an archive file or from RPM packages by using the
groupinstall
option, you also automatically install themod_jk
andmod_proxy_cluster
connectors. -
The JBCS Apache HTTP Server does not provide or support the
mod_php
module. Only the RHEL Apache HTTP Server supports themod_php
module.
-
The JBCS Apache HTTP Server uses a top-level
Behavioral differences between JBCS distributions on different RHEL versions
Unlike JBCS 2.4.57 on RHEL 7 or RHEL 8, the JBCS 2.4.57 distribution for RHEL 9 systems is based on the RHEL distribution of the Apache HTTP Server httpd
package. This change to the way Red Hat distributes the httpd
package from RHEL 9 onward helps to provide Apache HTTP Server users with a more consistent and streamlined user experience.
Because of this difference, JBCS 2.4.57 on RHEL 9 has certain behavioral differences compared to JBCS 2.4.57 on earlier RHEL versions.
Consider the following guidelines:
-
On RHEL 9, the
mod_security
module does not support theSecCollectionGCFrequency
directive for specifying garbage collection frequency. Themod_security
module that JBCS provides on RHEL 7 and RHEL 8 supports theSecCollectionGCFrequency
directive. -
On RHEL 9, the
mod_deflate
module does not support theDeflateAlterEtag
directive for specifying how to alter the ETag header when a response is compressed. Themod_deflate
module that JBCS provides on RHEL 7 and RHEL 8 supports theDeflateAlterEtag
directive. On RHEL 9, the
httpd.conf.sample
file does not include the following content:-
A default
PidFile
directive for specifying the file in which the server records the process ID of the daemon -
A list of
AddLanguage
directives in themod_mime
section for mapping specific filename extensions to specific content languages -
A configuration section for the
web_dav
module for web-based distributed authoring and versioning (WebDav)
The
httpd.conf.sample
file that JBCS provides on RHEL 7 and RHEL 8 includes all of the preceding content.-
A default
1.2. Supported operating systems and installation methods for the JBCS Apache HTTP Server
Red Hat JBoss Core Services (JBCS) provides a distribution of the Apache HTTP Server for different versions of the Red Hat Enterprise Linux (RHEL) and Windows Server operating systems.
Consider the following guidelines for installing the JBCS Apache HTTP Server on supported operating systems:
- On all supported RHEL and Windows Server versions, you can install the JBCS Apache HTTP Server by using archive installation files that are available for each platform.
- On RHEL versions 7 and 8, you can install the JBCS Apache HTTP Server by using Red Hat Package Manager (RPM) packages.
- On RHEL 9, if you want to install the Apache HTTP Server from an RPM package, you must install the RHEL distribution of the Apache HTTP Server by using Application Streams. You cannot install the JBCS Apache HTTP Server on RHEL 9 by using RPM packages.
Additional resources
1.3. Upgrade of an existing JBCS installation to the 2.4.57 release
If you previously installed Red Hat JBoss Core Services (JBCS) 2.4.51 or earlier, you can upgrade your existing JBCS installation to the latest 2.4.57 release. The steps to upgrade JBCS differ depending on whether you installed the product from archive files or RPM packages.
1.3.1. Upgrading an existing JBCS installation when installed from archive files
If you previously installed the JBCS Apache HTTP Server 2.4.51 or earlier from an archive file, you can upgrade to the latest 2.4.57 release.
The upgrade process includes the following steps:
- Installing the Apache HTTP Server 2.4.57
- Setting up the Apache HTTP Server 2.4.57
- Removing an earlier version of Apache HTTP Server
Prerequisites
- If you are using Red Hat Enterprise Linux (RHEL), you have root user access.
- If you are using Windows Server, you have administrative access.
- You have an existing installation of the JBCS Apache HTTP Server 2.4.51 or earlier that you installed from an archive file.
Procedure
- Shut down any running instances of the Apache HTTP Server 2.4.51.
- Back up the Apache HTTP Server 2.4.51 installation and configuration files.
- Install the Apache HTTP Server 2.4.57 by using the archive file installation method for the current system. For more information, see Additional Resources at the end of this section.
Migrate your configuration from the Apache HTTP Server version 2.4.51 to version 2.4.57.
NoteThe JBCS configuration files might have changed since the Apache HTTP Server 2.4.51 release. Update the 2.4.57 version configuration files rather than overwrite them with the configuration files from a different version, such as the Apache HTTP Server 2.4.51.
- Remove the Apache HTTP Server 2.4.51 root directory.
1.3.2. Upgrading an existing JBCS installation when installed from RPM packages
If you previously installed the JBCS Apache HTTP Server 2.4.51 or earlier from RPM packages, you can upgrade to the latest 2.4.57 release by using the yum groupupdate
command.
Prerequisites
- You have an existing installation of the JBCS Apache HTTP Server 2.4.51 or earlier that you installed from RPM packages on RHEL 7 or RHEL 8.
Procedure
Enter the following command as the root user:
# yum groupupdate jbcs-httpd24
Additional resources
1.4. Key differences between RHEL 7 and RHEL 8
This section provides an overview of some of the key changes introduced in Red Hat Enterprise Linux (RHEL) 8.
- Removed security functionality
- All-numeric user and group names are deprecated in RHEL 7 and their support is completely removed in RHEL 8.
- Memory management
- In RHEL 7, the existing memory bus has capacity for 48/46 bit of virtual/physical memory addressing, and the Linux kernel implements 4 levels of page tables to manage these virtual addresses to physical addresses. With the extended address range, the memory management in RHEL 8 supports the implementation of 5-level page tables, to allow handling of the expanded address range. In RHEL 8, support for 5-level page tables is disabled by default, even if the system supports this feature.
- XFS supports
- RHEL 7 can mount XFS file systems with shared copy-on-write data extents only in the read-only mode. In RHEL 8, the XFS file system supports shared copy-on-write data extent functionality. This feature enables two or more files to share a common set of data blocks.
- NFS configuration
-
In RHEL 7, the NFS configuration is located in the
/etc/sysconfig/nfs
file. In RHEL 8, the NFS configuration is located in the/etc/nfs.conf
file.
Additional resources
1.5. Key differences between RHEL 8 and RHEL 9
This section provides an overview of some of the key changes introduced in Red Hat Enterprise Linux (RHEL) 9.
- Application Streams enhancement
RHEL 8 introduced a feature called Application Streams. RHEL uses Application Streams to deliver and update multiple versions of user-space components such as applications, runtime languages, and databases more frequently than the core operating system packages. Each Application Stream represents a specific version of a component, and each component in an Application Stream has a defined life cycle. Application Streams provide users greater flexibility to use the component versions that suit their requirements for specific use cases and workloads without impacting the underlying stability of the platform or deployments.
On RHEL 8, Red Hat packaged the content in Application Streams as a combination of RPM packages, modules (package groups), and Software Collections. RHEL 9 further enhances the Application Streams feature by providing initial Application Stream versions that you can install as RPM packages by using the standard
dnf install
command- Availability of Apache connectors and load balancers
RHEL 9 provides a distribution of the Apache Tomcat Connector (
mod_jk
) and the JBoss HTTP Connector (mod_proxy_cluster
) for load-balancing web client requests to back-end application servers. The RHEL distribution ofmod_jk
andmod_proxy_cluster
is identical to the JBCS distribution of these modules.Installing the RHEL distribution of the Apache HTTP Server does not automatically install the
mod_jk
andmod_proxy_cluster
modules. For more information about installingmod_jk
andmod_proxy_cluster
from RPM packages on RHEL 9, see the Apache HTTP Server Connectors and Load Balancing Guide.
Additional resources