Blame SOURCES/README.redhat.rst

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