This directory contains a sample Apache agent that implements the PingAccess Agent Protocol using the Agent SDK for C.
- Red Hat Enterprise Linux 7 (RHEL7), 64-bit
- Red Hat Enterprise Linux 8 (RHEL8), 64-bit
The following are required to build and run this sample agent:
- PingAccess 4.0.3 or later and a valid license
- PingFederate 7.1.x or 8.0.x or later and a valid license
- Properly configured Apache HTTP server instance in which to install the agent module
- Download the PingAccess Agent SDK for C
- Unzip in desired install location
- Within the remainder of this document, the base of the unzipped contents is known as
PAA_SDK_INSTALL_DIR
The sample requires the installation of some build-time dependencies. Some
dependencies are available from the RHEL repositories, but a few are shipped
in ${PAA_SDK_INSTALL_DIR}/lib/${platform}/dependencies
directory of the Agent SDK for C installation.
Run the following yum command as root to install all the dependencies:
yum install httpd-devel.x86_64 libcurl-devel.x86_64 pcre-devel.x86_64 gcc.x86_64
For RHEL7, run the following yum command as root to install the provided dependencies:
yum install ${PAA_SDK_INSTALL_DIR}/lib/rhel7/x86_64/dependencies/*.rpm
To support linking against ZeroMQ 4 without requiring the zeromq-devel package (which conflicts with a zeromq package available from the EPEL repositories), manually add the following link as root:
ln -s /usr/lib64/libzmq.so.5 /usr/lib64/libzmq.so
Run the following yum command as root to install all the dependencies:
dnf install httpd-devel.x86_64 libcurl-devel.x86_64 pcre-devel.x86_64 gcc.x86_64
For RHEL8, run the following yum command as root to install the provided dependencies:
dnf install ${PAA_SDK_INSTALL_DIR}/lib/rhel8/x86_64/dependencies/*.rpm
To support linking against ZeroMQ 4 without requiring the zeromq-devel package (which requires enabling the EPEL repositories), manually add the following link as root:
ln -s /usr/lib64/libzmq.so.5 /usr/lib64/libzmq.so
The sample Apache agent module can be built using the provided GNU Make Makefile. The base of the unzipped C SDK distribution installed earlier must be specified on the command line. For example:
make PAA_SDK_INSTALL_DIR=/usr/local/pingaccess-agent-c-sdk
The build process creates mod_paa.so
, as well as other intermediate artifacts.
These instructions assume Apache is installed using the RHEL Apache RPMs, which
places the HTTPD_ROOT
at /etc/httpd
. If you have installed Apache in a
different location, replace /etc/httpd
in the following paths with your
value for HTTPD_ROOT
.
The following instructions must be run with root privileges.
- Copy
mod_paa.so
to/etc/httpd/modules
- Copy
paa.conf
to/etc/httpd/conf.modules.d/10-paa.conf
- Restart Apache
After deploying the agent, obtain an agent.properties
from the PingAccess Admin
Console to configure the agent with the details necessary to contact the
PingAccess Policy Server.
- The most recent version of this sample application and project may be found at Github.
- Customers and Partners may create cases via the Ping Identity Support and Community Portal.
- API Documentation for the PingAccess Agent SDK for C is hosted at the Ping Identity Developer Portal
- Additional Documentation for PingAccess Agent SDK for C can be found in the Knowledge Center
This software is open sourced by Ping Identity but not supported commercially as such. Any questions/issues should be brought up for discussion on the Ping Identity developer communities. See also the DISCLAIMER file in this directory.