1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision: 1774505 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="mod_info.xml.meta">
<name>mod_info</name>
<description>Affiche une présentation complète de la configuration du
serveur</description>
<status>Extension</status>
<sourcefile>mod_info.c</sourcefile>
<identifier>info_module</identifier>
<summary>
<p>Pour activer <module>mod_info</module>, ajoutez les lignes
suivantes à votre fichier <code>httpd.conf</code>.</p>
<highlight language="config">
<Location "/server-info">
SetHandler server-info
</Location>
</highlight>
<p>Il est recommandé d'utiliser <module>mod_authz_host</module> à
l'intérieur de la section <directive type="section"
module="core">Location</directive> afin de restreindre l'accès aux
informations de configuration de votre serveur :</p>
<highlight language="config">
<Location "/server-info">
SetHandler server-info
Require host example.com
</Location>
</highlight>
<p>Une fois cette configuration effectuée, les informations du
serveur sont disponibles à l'adresse
<code>http://votre-serveur.com/infos-serveur</code>.</p>
</summary>
<section id="security"><title>Problèmes liés à la sécurité</title>
<p>Une fois <module>mod_info</module> chargé dans le serveur, sa
fonctionnalité de gestionnaire est disponible dans <em>tous</em> les
fichiers de configuration, y compris les fichiers de configuration
des répertoires (par exemple <code>.htaccess</code>). Ceci peut
avoir des répercutions en matière de sécurité pour votre site.</p>
<p>En particulier, l'utilisation de ce module peut conduire à la
divulgation d'informations sensibles à partir des directives de
configuration d'autres modules Apache comme des chemins systèmes,
des couples nom d'utilisateur/mot de passe, des noms de bases de
données, etc... C'est pourquoi ce module ne doit être utilisé
<strong>que</strong> dans un environnement sous contrôle et toujours
avec les plus grandes précautions.</p>
<p>Il est recommandé d'utiliser <module>mod_authz_host</module> pour
restreindre l'accès aux informations de configuration de votre
serveur.</p>
<example><title>Contrôle d'accès</title>
<highlight language="config">
<Location "/server-info">
SetHandler server-info
# Autorisation d'accès depuis le serveur lui-même
Require ip 127.0.0.1
# Autorisation d'accès depuis une station de travail du réseau
# local
Require ip 192.168.1.17
</Location>
</highlight>
</example>
</section>
<section id="queries"><title>Filtrage des informations affichées</title>
<p>Par défaut, les informations affichées comprennent une liste de
tous les modules activés, et pour chaque module, une description des
directives qu'il accepte, les branchements (hooks) qu'il
implémente, ainsi que les directives concernées dans la
configuration courante.</p>
<p>Il est possible d'afficher d'autres vues de la configuration en
ajoutant un argument à la requête <code>infos-serveur</code>. Par
exemple, <code>http://votre-serveur.com/infos-serveur?config</code>
affichera toutes les directives de configuration.</p>
<dl>
<dt><code>?<module-name></code></dt>
<dd>Uniquement les informations relatives au module
spécifié</dd>
<dt><code>?config</code></dt>
<dd>Uniquement les directives de configuration, non triées
par module</dd>
<dt><code>?hooks</code></dt>
<dd>Uniquement la liste des branchements (hooks)
auxquels le module est attaché</dd>
<dt><code>?list</code></dt>
<dd>Une simple liste des modules activés</dd>
<dt><code>?server</code></dt>
<dd>Uniquement des informations de base sur le serveur</dd>
<dt><code>?providers</code></dt>
<dd>Liste des fournisseurs disponbles pour votre serveur</dd>
</dl>
</section>
<section id="startup"><title>Affichage de la configuration au démarrage</title>
<p>Si la directive de configuration define
<code>-DDUMP_CONFIG</code> est utilisée, <module>mod_info</module> va
envoyer la configuration préinterprétée vers <code>stdout</code> au
cours du démarrage du serveur.</p>
<highlight language="sh">
httpd -DDUMP_CONFIG -k start
</highlight>
<p>"Préinterprétée" signifie que
les directives telles que <directive type="section"
module="core">IfDefine</directive> et <directive type="section"
module="core">IfModule</directive> sont évaluées et les variables
d'environnement remplacées par leurs valeurs. Cela ne représente
cependant pas la configuration définitive. En particulier, les
fusions ou écrasementsde définitions en cas de directives multiples ne sont pas
représentés.</p>
<p>Le résultat est équivalent à celui de la requête
<code>?config</code>.</p>
</section>
<section id="limitations"><title>Limitations connues</title>
<p><module>mod_info</module> tire ses informations de
la configuration interprétée, et non du fichier de configuration
original. La manière dont l'arbre de configuration interprété est
créé induit quelques limitations :</p>
<ul>
<li>Les directives qui sont traitées immédiatement sans être
enregistrées dans l'arbre de configuration interprété ne sont pas
prises en compte. Celles-ci comprennent <directive
module="core">ServerRoot</directive>, <directive
module="mod_so">LoadModule</directive> et <directive
module="mod_so">LoadFile</directive>.</li>
<li>Les directives qui contrôlent le fichier de configuration
lui-même, comme <directive module="core">Include</directive>,
<directive type="section" module="core">IfModule</directive> et
<directive type="section" module="core">IfDefine</directive> ne
sont pas prises en compte, mais les directives de configuration
incluses le sont.</li>
<li>Les commentaires ne sont pas pris en compte (Ce qui peut être
considéré comme une fonctionnalité).</li>
<li>Les directives de configuration des fichiers
<code>.htaccess</code> ne sont pas prises en compte (car elles ne
font pas partie de la configuration permanente du serveur).</li>
<li>Les directives de conteneur comme <directive type="section"
module="core">Directory</directive> sont affichées
normalement, mais <module>mod_info</module> est incapable de
déterminer le numéro de ligne de la balise fermante
<directive type="section" module="core"
name="Directory">/Directory</directive>.</li>
<li>Les directives générées par des modules tiers comme
<a href="http://perl.apache.org">mod_perl</a> peuvent ne pas être
prises en compte.</li>
</ul>
</section>
<directivesynopsis>
<name>AddModuleInfo</name>
<description>Ajoute des données supplémentaires aux informations de
module affichées par le gestionnaire server-info</description>
<syntax>AddModuleInfo <var>nom-module</var> <var>chaîne</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>Cette directive permet d'afficher le contenu de <var>chaîne</var>
en tant qu'<strong>Information supplémentaire</strong> interprétée
en HTML pour le module <var>nom-module</var>. Exemple :</p>
<highlight language="config">
AddModuleInfo mod_deflate.c 'See <a \
href="http://httpd.apache.org/docs/&httpd.docs;/mod/mod_deflate.html">\
http://httpd.apache.org/docs/&httpd.docs;/mod/mod_deflate.html</a>'
</highlight>
</usage>
</directivesynopsis>
</modulesynopsis>
|