4217b36
Red Hat Specific mod_auth_mellon Information
4217b36
============================================
4217b36
4217b36
This README contains information specific to Red Hat's distribution of
4217b36
``mod_auth_mellon``.
4217b36
4217b36
Diagnostic Logging
4217b36
------------------
4217b36
4217b36
Diagnostic logging can be used to collect run time information to help
4217b36
diagnose problems with your ``mod_auth_mellon`` deployment. Please see
4217b36
the "Mellon Diagnostics" section in the Mellon User Guide for more
4217b36
details.
4217b36
4217b36
How to enable diagnostic logging on Red Hat systems
4217b36
```````````````````````````````````````````````````
4217b36
4217b36
Diagnostic logging adds overhead to the execution of
4217b36
``mod_auth_mellon``. The code to emit diagnostic logging must be
4217b36
compiled into ``mod_auth_mellon`` at build time. In addition the
4217b36
diagnostic log file may contain security sensitive information which
4217b36
should not normally be written to a log file. If you have a
4217b36
version of ``mod_auth_mellon`` which was built with diagnostics you
4217b36
can disable diagnostic logging via the ``MellonDiagnosticsEnable``
4217b36
configuration directive. However given human nature the potential to
4217b36
enable diagnostic logging while resolving a problem and then forget to
4217b36
disable it is not a situation that should exist by default. Therefore
4217b36
given the overhead consideration and the desire to avoid enabling
4217b36
diagnostic logging by mistake the Red Hat ``mod_auth_mellon`` RPM's
4217b36
ship with two versions of the ``mod_auth_mellon`` Apache module.
4217b36
4217b36
1. The ``mod_auth_mellon`` RPM contains the normal Apache module
4217b36
   ``/usr/lib*/httpd/modules/mod_auth_mellon.so`` 
4217b36
4217b36
2. The ``mod_auth_mellon-diagnostics`` RPM contains the diagnostic
4217b36
   version of the Apache module
4217b36
   ``/usr/lib*/httpd/modules/mod_auth_mellon-diagnostics.so``
4217b36
4217b36
Because each version of the module has a different name both the
4217b36
normal and diagnostic modules can be installed simultaneously without
4217b36
conflict. But Apache will only load one of the two modules. Which
4217b36
module is loaded is controlled by the
4217b36
``/etc/httpd/conf.modules.d/10-auth_mellon.conf`` config file which
4217b36
has a line in it which looks like this::
4217b36
4217b36
    LoadModule auth_mellon_module modules/mod_auth_mellon.so
4217b36
4217b36
To load the diagnostics version of the module you need to change the
4217b36
module name so it looks like this::
4217b36
4217b36
    LoadModule auth_mellon_module modules/mod_auth_mellon-diagnostics.so
4217b36
4217b36
**Don't forget to change it back again when you're done debugging.**
4217b36
4217b36
You'll also need to enable the collection of diagnostic information,
4217b36
do this by adding this directive at the top of your Mellon conf.d
4217b36
config file or inside your virtual host config (diagnostics are per
4217b36
server instance)::
4217b36
4217b36
    MellonDiagnosticsEnable On
4217b36
4217b36
.. NOTE::
4217b36
   Some versions of the Mellon User Guide have a typo in the name of
4217b36
   this directive, it incorrectly uses ``MellonDiagnosticEnable``
4217b36
   instead of ``MellonDiagnosticsEnable``. The difference is
4217b36
   Diagnostics is plural.
4217b36
4217b36
The Apache ``error_log`` will contain a message indicating how it
4217b36
processed the ``MellonDiagnosticsEnable`` directive. If you loaded the
4217b36
standard module without diagnostics you'll see a message like this::
4217b36
4217b36
    MellonDiagnosticsEnable has no effect because Mellon was not
4217b36
    compiled with diagnostics enabled, use
4217b36
    ./configure --enable-diagnostics at build time to turn this
4217b36
    feature on.
4217b36
4217b36
If you've loaded the diagnostics version of the module you'll see a
4217b36
message in the ``error_log`` like this::
4217b36
4217b36
    mellon diagnostics enabled for virtual server *:443
4217b36
    (/etc/httpd/conf.d/my_server.conf:7)
4217b36
    ServerName=https://my_server.example.com:443, diagnostics
4217b36
    filename=logs/mellon_diagnostics