---
title: Installing on an Oracle HTTP Server
description: Manually install a PingAccess agent on a RHEL system with Apache 2.4 when using an Oracle HTTP Server.
component: pingaccess
version: 8.3
page_id: pingaccess:agents_and_integrations:pa-installing-on-an-ohs-http-server
canonical_url: https://docs.pingidentity.com/pingaccess/9.1/agents_and_integrations/pa-installing-on-an-ohs-http-server.html
llms_txt: https://docs.pingidentity.com/pingaccess/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
revdate: December 11, 2025
superseded_by: https://docs.pingidentity.com/pingaccess/9.1/agents_and_integrations/pa-installing-on-an-ohs-http-server.html
section_ids:
  before-you-begin: Before you begin
  choose-from: Choose from:
  steps: Steps
  example: Example:
  example-2: Example:
  choose-from-2: Choose from:
---

# Installing on an Oracle HTTP Server

Manually install a PingAccess agent on a RHEL system with Apache 2.4 when using an Oracle HTTP Server.

## Before you begin

1. Review the [RHEL agent system requirements](pa_agent_for_apache_rhel_system_reqs.html) and make sure you're using a supported combination of agent version and RHEL version.

2. Download an `agent.properties` file:

   1. In the PingAccess admin console, go to **Applications > Agents**.

   2. Click the **Pencil** icon to edit a configured agent.

      If you haven't created an agent yet, learn more about how to do so in [Adding agents](../pingaccess_user_interface_reference_guide/pa_adding_agents.html).

   3. In the **Shared Secrets** section, click the **Download** icon to download the configuration.

      |   |                                                                      |
      | - | -------------------------------------------------------------------- |
      |   | The configuration file will be named `<agentname>_agent.properties`. |

This procedure assumes that:

> **Collapse: Details**
>
> * You've installed and configured either Oracle HTTP Server 12c or 14c according to Oracle's documentation.
>
> * You've downloaded and extracted the version-appropriate `.zip` archive for your environment. For example:
>
>   * `pingaccess-agent-apache24-rhel8*.zip`
>
>   * `pingaccess-agent-apache24-rhel9*.zip`
>
>   * `pingaccess-agent-apache24-rhel10*.zip`
>
> * `$ORACLE_HOME` and `$OHS_COMPONENT_NAME` are set in the file path.
>
> * You've installed the Oracle HTTP Server at the appropriate location within `$ORACLE_HOME`. If you haven't, modify the file paths specified in this procedure based on where your Oracle HTTP Server installation and configuration files are located.
>
> * You've installed `libcurl` and PCRE or verified that they're installed. To install these packages, run either:
>
>   ### Choose from:
>
>   * `dnf install libcurl pcre` for RHEL 8 and RHEL 9.
>
>   * `dnf install libcurl pcre2` for RHEL 10.

## Steps

1. Go to the `pingaccess-agent-apache24-<RHEL_version>-<agent_version>/<arch>/` directory.

   |   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   |   | These are the only valid values for OHS 12c:- *\<RHEL_version>*: `rhel8`, `rhel9`, or `rhel10`.

   - *\<agent_version>*: `1.5.2` if using RHEL 8, `3.0.0` if using RHEL 9, and `3.1.0` if using RHEL 10.

   - *\<arch>*: `x86_64` for 64-bit.These are the only valid values for OHS 14c:- *\<RHEL_version>*: `rhel8`, `rhel9`, or `rhel10`.

   - *\<agent_version>*: `3.0.0` if using RHEL 8 or RHEL 9, and `3.1.0` if using RHEL 10.

   - *\<arch>*: `x86_64` for 64-bit. |

   ### Example:

   `cd pingaccess-agent-apache24-rhel9-3.0.0/x86_64/`

2. Extract the package RPMs using the following command:

   ```
   mkdir pkgroot
   cp *.rpm pkgroot/
   cd pkgroot
   for r in *.rpm; do rpm2cpio $r | cpio -idmv; done
   ```

3. Run the `cp` command to copy the libraries to the appropriate OHS directories.

   ### Example:

   ```
   cp -av usr/lib64/*.so* $ORACLE_HOME/ohs/modules
   ```

4. Copy `mod_paa.so` into the OHS modules directory:

   ```
   cp -av usr/lib64/httpd/modules/mod_paa.so $ORACLE_HOME/ohs/modules
   ```

5. Copy the `10-paa.conf` file to the OHS component home directory:

   ```
   cp -av etc/httpd/conf.modules.d/10-paa.conf $ORACLE_HOME/user_projects/domains/base_domain/config/fmwconfig/components/OHS/instances/$OHS_COMPONENT_NAME/
   ```

6. Create a `conf.d` directory if it doesn't already exist in the OHS component home directory:

   ```
   mkdir $ORACLE_HOME/user_projects/domains/base_domain/config/fmwconfig/components/OHS/instances/$OHS_COMPONENT_NAME/conf.d
   ```

7. Copy the `<agentname>_agent.properties` file to the `$ORACLE_HOME/user_projects/domains/base_domain/config/fmwconfig/components/OHS/instances/$OHS_COMPONENT_NAME/conf.d` directory.

   This is the configuration file that you downloaded in step 3 of the prerequisites section.

8. In the `10-paa.conf` file:

   1. OHS sets its own `LD_LIBRARY_PATH` at startup to include its own `lib` directory which takes precedence over the system level libraries. Some system level libraries might need to be explicitly set, such as `libcurl` when using an OHS 12c server on RHEL 10, or `libcrypto` when using an OHS 14c server on RHEL 9 or 10 only. Add the `LoadFile` directive followed by the path to the library to the `10-paa.conf` file as the first `LoadFile` directive:

      ### Choose from:

      * For OHS 12c on RHEL 10 only:

        ```
        LoadFile /lib64/libcurl.so.4
        ```

      * For OHS 14c on RHEL 9 or RHEL 10 only:

        ```
        LoadFile /lib64/libcrypto.so.3
        ```

   2. Add the following lines before the `LoadModule` directive when using RHEL 8 or RHEL 9 only:

      ```
      LoadFile $ORACLE_HOME/ohs/modules libpgm-5.2.so.0
      LoadFile $ORACLE_HOME/ohs/modules libzmq.so.5
      ```

   3. Add the following lines after the existing `LoadFile` directive but before the `LoadModule` directive when using RHEL 10 only:

      ```
      LoadFile $ORACLE_HOME/ohs/modules/libpgm-5.2.so.0
      LoadFile $ORACLE_HOME/ohs/modules/libunwind.so.8
      LoadFile $ORACLE_HOME/ohs/modules/libsodium.so.26
      LoadFile $ORACLE_HOME/ohs/modules/libzmq.so.5
      ```

   4. Update the `LoadModule` directive to the correct path for `mod_paa.so`:

      ```
      LoadModule paa_module $ORACLE_HOME/ohs/modules/mod_paa.so
      ```

   5. Update the values for `PaaPropertyFiles` and `PaaCertificateDir` to point to your OHS `conf.d` directory.

9. In the `$ORACLE_HOME/user_projects/domains/base_domain/config/fmwconfig/components/OHS/instances/$OHS_COMPONENT_NAME/admin.conf` file, disable the PingAccess agent in the virtual host configuration to prevent PingAccess from protecting the OHS admin host:

   ```
   <VirtualHost 127.0.0.1:9999>
   PaaEnabled off
   ...
   ```

10. In the OHS configuration file, `$ORACLE_HOME/user_projects/domains/base_domain/config/fmwconfig/components/OHS/instances/$OHS_COMPONENT_NAME/httpd.conf`, use the following directive to add the PingAccess agent for Apache's module configuration to the Oracle HTTP Server:

    ```
    include "10-paa.conf"
    ```

11. Start the OHS service by running `$ORACLE_HOME/user_projects/domains/base_domain/bin/startComponent.sh <$OHS_COMPONENT_NAME>`.
