mod_info.html.en revision a7537d9537873c0e48c5075c639cd72b0afeb238
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_info - Apache HTTP Server</title>
<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
<script src="/style/scripts/prettify.js" type="text/javascript">
</script>
<link href="/images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p>
<p class="apache">Apache HTTP Server Version 2.5</p>
<img alt="" src="/images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache Module mod_info</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="/en/mod/mod_info.html" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/mod/mod_info.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="/ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides a comprehensive overview of the server
configuration</td></tr>
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:</a></th><td>info_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Source�File:</a></th><td>mod_info.c</td></tr></table>
<h3>Summary</h3>
<p>To configure <code class="module"><a href="/mod/mod_info.html">mod_info</a></code>, add the following to your
<code>httpd.conf</code> file.</p>
<pre class="prettyprint lang-config">
&lt;Location /server-info&gt;
SetHandler server-info
&lt;/Location&gt;
</pre>
<p>You may wish to use <code class="module"><a href="/mod/mod_access.html">mod_access</a></code> inside the
<code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code>
directive to limit access to your server configuration
information:</p>
<pre class="prettyprint lang-config">
&lt;Location /server-info&gt;
SetHandler server-info
Require host example.com
&lt;/Location&gt;
</pre>
<p>Once configured, the server information is obtained by
accessing <code>http://your.host.example.com/server-info</code></p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="/images/down.gif" /> <a href="#addmoduleinfo">AddModuleInfo</a></li>
</ul>
<h3>Topics</h3>
<ul id="topics">
<li><img alt="" src="/images/down.gif" /> <a href="#security">Security Issues</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#queries">Selecting the information shown</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#startup">Dumping the configuration on startup</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#limitations">Known Limitations</a></li>
</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="security" id="security">Security Issues</a></h2>
<p>Once <code class="module"><a href="/mod/mod_info.html">mod_info</a></code> is loaded into the server, its
handler capability is available in <em>all</em> configuration
files, including per-directory files (<em>e.g.</em>,
<code>.htaccess</code>). This may have security-related
ramifications for your site.</p>
<p>In particular, this module can leak sensitive information
from the configuration directives of other Apache modules such as
system paths, usernames/passwords, database names, etc. Therefore,
this module should <strong>only</strong> be
used in a controlled environment and always with caution.</p>
<p>You will probably want to use <code class="module"><a href="/mod/mod_authz_host.html">mod_authz_host</a></code>
to limit access to your server configuration information.</p>
<div class="example"><h3>Access control</h3><pre class="prettyprint lang-config">
&lt;Location /server-info&gt;
SetHandler server-info
Order allow,deny
# Allow access from server itself
Allow from 127.0.0.1
# Additionally, allow access from local workstation
Allow from 192.168.1.17
&lt;/Location&gt;
</pre>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="queries" id="queries">Selecting the information shown</a></h2>
<p>By default, the server information includes a list of
all enabled modules, and for each module, a description of
the directives understood by that module, the hooks implemented
by that module, and the relevant directives from the current
configuration.</p>
<p>Other views of the configuration information are available by
appending a query to the <code>server-info</code> request. For
example, <code>http://your.host.example.com/server-info?config</code>
will show all configuration directives.</p>
<dl>
<dt><code>?&lt;module-name&gt;</code></dt>
<dd>Only information relevant to the named module</dd>
<dt><code>?config</code></dt>
<dd>Just the configuration directives, not sorted by module</dd>
<dt><code>?hooks</code></dt>
<dd>Only the list of Hooks each module is attached to</dd>
<dt><code>?list</code></dt>
<dd>Only a simple list of enabled modules</dd>
<dt><code>?server</code></dt>
<dd>Only the basic server information</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="startup" id="startup">Dumping the configuration on startup</a></h2>
<p>If the config define <code>-DDUMP_CONFIG</code> is set,
<code class="module"><a href="/mod/mod_info.html">mod_info</a></code> will dump the pre-parsed configuration to
<code>stdout</code> during server startup. Pre-parsed means that
directives like
<code class="directive"><a href="/mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> and
<code class="directive"><a href="/mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> are
evaluated and environment varialbles are replaced. However it does
not represent the final state of the configuration. In particular,
it does not represent the merging or overriding that may happen
for repeated directives.</p>
<p>This is roughly equivalent to the <code>?config</code> query.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="limitations" id="limitations">Known Limitations</a></h2>
<p><code class="module"><a href="/mod/mod_info.html">mod_info</a></code> provides its information by reading the
parsed configuration, rather than reading the original configuration
file. There are a few limitations as a result of the way the parsed
configuration tree is created:</p>
<ul>
<li>Directives which are executed immediately rather than being
stored in the parsed configuration are not listed. These include
<code class="directive"><a href="/mod/core.html#serverroot">ServerRoot</a></code>,
<code class="directive"><a href="/mod/mod_so.html#loadmodule">LoadModule</a></code>, and
<code class="directive"><a href="/mod/mod_so.html#loadfile">LoadFile</a></code>.</li>
<li>Directives which control the configuration file itself, such as
<code class="directive"><a href="/mod/core.html#include">Include</a></code>,
<code class="directive"><a href="/mod/core.html#&lt;ifmodule&gt;">&lt;IfModule&gt;</a></code> and
<code class="directive"><a href="/mod/core.html#&lt;ifdefine&gt;">&lt;IfDefine&gt;</a></code> are not
listed, but the included configuration directives are.</li>
<li>Comments are not listed. (This may be considered a feature.)</li>
<li>Configuration directives from <code>.htaccess</code> files are
not listed (since they do not form part of the permanent server
configuration).</li>
<li>Container directives such as
<code class="directive"><a href="/mod/core.html#&lt;directory&gt;">&lt;Directory&gt;</a></code>
are listed normally, but <code class="module"><a href="/mod/mod_info.html">mod_info</a></code> cannot figure
out the line number for the closing
<code class="directive"><a href="/mod/core.html#&lt;/directory&gt;">&lt;/Directory&gt;</a></code>.</li>
<li>Directives generated by third party modules such as <a href="http://perl.apache.org">mod_perl</a>
might not be listed.</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AddModuleInfo" id="AddModuleInfo">AddModuleInfo</a> <a name="addmoduleinfo" id="addmoduleinfo">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adds additional information to the module
information displayed by the server-info handler</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddModuleInfo <var>module-name</var> <var>string</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_info</td></tr>
</table>
<p>This allows the content of <var>string</var> to be shown as
HTML interpreted, <strong>Additional Information</strong> for
the module <var>module-name</var>. Example:</p>
<pre class="prettyprint lang-config">
AddModuleInfo mod_deflate.c 'See &lt;a \
href="http://www.apache.org/docs/trunk/mod/mod_deflate.html"&gt;\
http://www.apache.org/docs/trunk/mod/mod_deflate.html&lt;/a&gt;'
</pre>
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="/en/mod/mod_info.html" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/mod/mod_info.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="/ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>This section is experimental!</strong><br />Comments placed here should not be expected
to last beyond the testing phase of this system, nor do we in any way guarantee that we'll read them.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var disqus_shortname = 'httpd';
var disqus_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_info.html.en';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="disqus_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'http' + '://' + disqus_shortname + '.disqus.com/embed.js';
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="disqus_thread">Comments have been disabled for offline viewing.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2012 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>