Blame SOURCES/README.redhat.rst

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