Apache Moonshot module information
These instructions relate to manually building the Apache Moonshot module.
All of the instructions below assume that you have root access, and will work as the root user (either directly or using sudo).
1. System Preparation
1.1. Add the Moonshot libraries
If you have not already done so, you first need to follow the instructions on how to install the Moonshot Libraries on RHEL/CentOS/SL 7.
1.2. Install some prerequisites
Building the Apache mod_auth_gssapi module requires you to have several packages already installed on the machine. To install them:
1.3. Build the module
We are now ready to build the Apache module.
Get a copy of the code via git:
Enter the directory that just got created:
Currently, there is a problem with the automake configuration. Until this is addressed, run
The apxs script is not set as executable. Fix it manually:
Build the software:
This will install the module to
/usr/lib/httpd/modules. On 64-bit platforms, you should run the following configure command in step 6:
2. Installation Instructions
To enable the Apache module, remove the comment from the below line in
Add a dummy Kerberos key to make the module happy:
Export the location of the keytab file into Apache's config:
Alternatively, you can use the
GSSKrb5Keytabconfiguration option in the
Locationdirective in Section 3.1 to specify the keytab.
Assign the correct permissions to the keytab file:
Ensure that the certificates referenced in
/etc/radsec.confcan be read by the Apache user:
Verify that the
KeepAliveoption is enabled in the Apache configuration file
3. Configuration Instructions
Shibboleth2 Apache module incompatibility
Please note that this module is currently not compatible with the Shibboleth2 service provider Apache module. When testing or using the Moonshot module, disable the Shibboleth module and restart the webserver before attempting your test. We are attempting to resolve this problem.
3.1. Protecting a location with Moonshot
To protect a particular location on your Apache server, you must configure it with an AuthType of "Negotiate".
To allow anyone with a valid Moonshot account to access
/wherever, you would do the following:
3.2. Populating REMOTE_USER
Web services often rely on the
REMOTE_USER Apache environment variable for user information, such as a local user account or a pseudonymous identifier.
REMOTE_USER, update the reply from the RP Proxy with the
User-Name RADIUS attribute in the RP Proxy's
3.3. HTTPS Internet Explorer compatibility
For updated best practice with Internet Explorer connections, you should also read Microsoft's HTTPS and Keep-Alive Connections article.